如何在Java中使用SHA1对用户进行身份验证

时间:2017-02-03 11:50:55

标签: java linux authentication sha1 pureftpd

我在Linux中使用Apache库作为两个应用程序的哈希密码。其中一个是Pure-Ftp,另一个是我的应用程序。我在Pure-Ftp passwd文件中手动保存哈希密码,工作正常,用户可以使用给定用户/密码的Ftp。
在我的应用程序中我想验证用户,但没有任何checkPassword(clearTextPassword,hashedPassword)函数。

import org.apache.commons.codec.digest.Crypt;
...
...
...
String hashedValue = Crypt.crypt(clearTextPassword);
..

1 个答案:

答案 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)。