承接了一个新项目,需要继承旧的用户数据。
账号密码解密使用了yiibaseSecurity::generatePasswordHash($password, $cost)方法。
generatePasswordHash($password, $cost = null) //php的生成密文 //默认的cost是13,是时间复杂度 return password_hash($password, PASSWORD_DEFAULT, ['cost' => $cost]);
账号密码解密使用了yiibaseSecurity::validatePassword($password, $db_pwd)方法。
yiibaseSecurity::validatePassword($password, $db_pwd); //即 password_verify($password, $db_pwd);
其中$password是明文,$data是加密值。
JAVA验证代码
1. 注意要替换$2y$,$2y$,$2a$,$2b$不影响散列值。
public boolean match(String password, String db_pwd) {
//'$2y$'替换成'¥2a$'
String u = "$2a".concat(db_pwd.substring(3));
return BCrypt.checkpw(password, u);
}


