Java与PHP(Laravel) bcrypt加密算法兼容
首先尝试java与php分别生成密码
然后发现二者之间的区别在于字符串开头 $2a$ 与 $2y$。$2y$开头的是新版本的安全修复。Java仅支持$2a$。
解决方法很简单,看你要兼容哪边,我场景是java无人可改,所以只能兼容java那边
只需要把$2y$替换成$2a$即可
$pwd = str_replace("$2a$","$2y$",$pwd);
存表的密码是$2a$开头的,直接用php验证也是可以的,不需要再改回校验。
码字很辛苦,转载请注明来自感触life-博客的《Java与PHP(Laravel) bcrypt加密算法兼容》
评论