gpt4 book ai didi

java - Java 中的 PHP crypt(pass, salt) 替代方案 - Blowfish 算法

转载 作者:搜寻专家 更新时间:2023-10-31 22:03:19 31 4
gpt4 key购买 nike

我在 php 服务器上使用这样的 crypt 函数:

$hash = crypt($password, '$2y$10$' . $salt);

它通过 Blowfish 方法对密码进行哈希处理。

我正在寻找与 crypt 密码等效的 java。

我找到了这段代码,但我不知道在哪里添加 $salt。更多内容:

String key = "abcd";
SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), "Blowfish");
Cipher cipher = Cipher.getInstance("Blowfish");
cipher.init(cipher.ENCRYPT_MODE, keySpec);
return DatatypeConverter.printBase64Binary(cipher.doFinal(key.getBytes()));

谢谢你的每一个想法或答案。

最佳答案

不是您问题的答案,但可能有帮助:

Apache Commons Codec 库包含一个 Linux crypt(3) 兼容函数,至少适用于基于 des、md5、sha256 和 sha512 的 crypt() 算法,以防您真的不需要河豚,而只需要比传统的基于 DES 的哈希值(然后使用 sha512): http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/digest/Md5Crypt.java?view=markup

还有其他实现 Blowfish 算法的源代码,但它在 C 中: http://doxygen.postgresql.org/crypt-blowfish_8c_source.html

如您所见,crypt() 使用仅基于这些加密密码的算法,但将输入通过它们传输数千次以获得一个不错的哈希值。

关于java - Java 中的 PHP crypt(pass, salt) 替代方案 - Blowfish 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23570655/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com