我的问题是如何检查密码是否已使用 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;
}
最佳答案
没有办法检查是否应用了 bcrypt 算法,因为可以创建一个与 bcrypt 恰好相似的密码,但是您可以使用一个技巧:让密码不允许超过 40 个字符,然后检查如果密码大于 59 个字符(或者根据您的逻辑进行更好的调整),则您可以推断密码是否已被加密。
关于java - BCrypt 检查是否已经加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20629917/