Sun*_*mov 3 java encryption spring cryptography bcrypt
我的问题是如何检查密码是否已经用 Bcrypt 加密。如果是,让 Bcrypt 什么都不做,只需保留密码。我正在使用 Java(EE),Spring。
public static String hashPassword(String userPassword) {
String bCrypt = null;
if (userPassword == null)
throw new NullPointerException("Input password for hashing was null.");
bCrypt = BCrypt.hashpw(userPassword, BCrypt.gensalt(12));
return bCrypt;
}
Run Code Online (Sandbox Code Playgroud)
小智 7
没有办法检查是否应用了 bcrypt 算法,因为可以巧合地创建一个类似于 bcrypt 的密码,但是您可以使用一个技巧:让密码不能超过 40 个字符,然后检查密码是否大于 59 个字符(或根据您的逻辑进行更好的调整),因此您可以推断密码是否已被 bcrypted。