BCrypt加密解密逻辑


BCrypt算法

Bcrypt是一种单向加密算法,不可反向破解生成明文密码;

BCrypt加密逻辑

Bcrypt有四个变量:

  • saltRounds:一个正整数,表示hash杂凑次数,数值越高越安全,默认为10次;
  • myPassword:明文密码字符串
  • salt:盐,一个128bits随机字符串,即22个随机字符
  • myHash:对加盐后的明文密码进行hash算法

每次明文密码传送过来后,对明文密码加盐并循环进行hash后,得到myHash,然后拼接BCrypt版本号+ salt + myHash得到最后的BCrypt密码;如下图:

lX1GmE ## BCrypt密码验证 使用BCrypt进行密码验证时,是通过用户名从数据库中取出对应密文密码,从中提取salt,然后与传入的明文密码进行BCrypt加密,得到结果后与数据库中密文进行比对,结果一致则说明密码正确,否则密码错误;

文章作者: Semon
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Semon !
评论
  目录