本文介绍盐值化加密过程.

注册

  • 同后端约定加密算法,如SHA-256
  • 前端随机生成盐值
  • 密码 + 盐加密
  • 传「加密密码 + 盐值」给后端存储;

登录

  • 通过用户名或取盐值
    如/api/getSalt?username=张三,只传账号,不传密码;
  • 用登录密码 + 盐,算法加密
  • 传加密值给后端对比;

核心:全程不传输、不存储原始密码,盐值随机唯一避免被破解。注意,sha256是单向哈希算法(散列算法)。从后端角度看,他有你加密后的一串字符以及盐值。但无法看到你的密码。