[英]crypt(3) $6$ password hash algorithm (based on SHA-512) in Java?
我正在寻找一个Java函数来生成/验证密码散列,该密码散列将crypt(3)
存储在Linux“ / etc / shadow”文件中时以crypt(3)
的方式编码,如果在“ /etc/pam.d”中激活了sha512
/ common-password”。
明文字符串“ geheim”将转换为:
"$6$WoC532HB$LagBJ00vAGNGu8p9oeYDOSNZo9vTNTzOgPA.K0bJoiXfbcpj3jBuTkNwdzCrSNadRi8LanH1tH6tGGPPp/Lp3."
从http://www.akkadia.org/drepper/SHA-crypt.txt可以理解,与MD5一样,它不仅是像DigestUtils
那样的SHA哈希, DigestUtils
是Java MessageDigest
类产生的,而是一种算法,它具有更多的魔力。
我在这里找到了所有新crypt()算法的Java实现: ftp : //ftp.arlut.utexas.edu/java_hashes/
您所提到的其他问题仅提供了指向基于DES的传统crypt(3)方法和基于MD5的“ $ 1 $”方法的链接。 我需要检查使用基于SHA-1的“ $ 5 $”方法甚至基于SHA-512的“ $ 6 $”方法的密码。
基于此处表示crypt(3)使用例如SHA-512,但添加了salt值,并按照http://www.akkadia.org/drepper/SHA-crypt.txt所述进行了多次迭代
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.