繁体   English   中英

Java中的crypt(3)$ 6 $密码哈希算法(基于SHA-512)?

[英]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/

看看Apache Commons Codec Digest

另外jBCrypt您可能会发现有用。

在本文“ 模块化加密格式”中,或者是关于一个没有很多Crypt3格式细节的标准的旁注。

您所提到的其他问题仅提供了指向基于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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM