我在Linux中使用Apache库作为两个应用程序的哈希密码。其中一个是Pure-Ftp,另一个是我的应用程序。我在Pure-Ftp passwd文件中手动保存哈希密码,工作正常,用户可以使用给定用户/密码的Ftp。
在我的应用程序中我想验证用户,但没有任何checkPassword(clearTextPassword,hashedPassword)函数。
import org.apache.commons.codec.digest.Crypt;
...
...
...
String hashedValue = Crypt.crypt(clearTextPassword);
..
答案 0 :(得分:0)
要验证密码,您可以使用savedHashedPassword将给定的简单密码哈希为salt:
private static boolean checkPassword(String password, String hashedPassword) {
String tmpHashedPassword = Crypt.crypt(password, hashedPassword);
return hashedPassword.equalsIgnoreCase(tmpHashedPassword);
}
Crypt.crypt(密码)使用最强的crypt(3)算法计算摘要。使用随机盐和默认算法(当前为SHA-512)。