gpt4 book ai didi

java - 在 Java 中使用自定义盐进行 Blowfish 加密

转载 作者:行者123 更新时间:2023-11-30 03:43:02 25 4
gpt4 key购买 nike

在PHP中,Blowfish哈希的实现只是调用函数string crypt(string $str [,string $salt]) 并传递一个由“$2a$”、“$2x$”或“$2y$”(两位数)组成的适当的字符串 salt成本参数、“$”和 22 个字符 ( http://php.net/manual/en/function.crypt.php ) :

<?php
echo crypt('SAD123', sprintf('$2a$10$%s', '7711cbpe58dfpogiu04985'));

结果是:

$2a$10$7711cbpe58dfpogiu0498u5Vh773A3qx.3LE3ro3NX7F9c9N7.pOm

现在我需要将此实现移至 Java(或 Scala),并且不知道如何获得相同的结果...

附:我正在使用 Cipher.getInstance("Blowfish")

最佳答案

您可能想尝试jBcrypt图书馆:

public String crypt(String clearText) {
return BCrypt.hashpw(clearText, BCrypt.gensalt(10));
}

请注意,我使用 10 作为成本因子只是为了遵循您的示例代码,但 12 或更大会更好。

为了完整起见,以下是重现示例的方法:

String encrypted = BCrypt.hashpw("SAD123", "$2a$10$7711cbpe58dfpogiu04985");
// encrypted is $2a$10$7711cbpe58dfpogiu0498u5Vh773A3qx.3LE3ro3NX7F9c9N7.pOm

关于java - 在 Java 中使用自定义盐进行 Blowfish 加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26400446/

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