gpt4 book ai didi

java - 使用 Java 存储 SHA2 密码

转载 作者:行者123 更新时间:2023-12-04 06:43:20 26 4
gpt4 key购买 nike

我正在尝试进行一个需要对特定字符串进行 HmacSHA-256 散列的 XML-RPC 调用。我目前正在使用带有以下代码的 Jasypt 库:

StandardPBEStringEncryptor sha256 = new StandardPBEStringEncryptor();
sha256.setPassword(key);
sha256.setAlgorithm("PBEWithHmacSHA2");

在尝试使用 sha256.encrypt(string) 时,我收到此错误:

线程“main” org.jasypt.exceptions.EncryptionInitializationException 中的异常:java.security.NoSuchAlgorithmException:PBEWithHmacAndSHA256 SecretKeyFactory 不可用
在 org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:597)
在 org.jasypt.encryption.pbe.StandardPBEStringEncryptor.initialize(StandardPBEStringEncryptor.java:488)
在 org.jasypt.encryption.pbe.StandardPBEStringEncryptor.encrypt(StandardPBEStringEncryptor.java:541)
在 nysenateapi.XmlRpc.main(XmlRpc.java:52)
引起:java.security.NoSuchAlgorithmException:PBEWithHmacAndSHA256 SecretKeyFactory 不可用
在 javax.crypto.SecretKeyFactory.(DashoA13*..)
在 javax.crypto.SecretKeyFactory.getInstance(DashoA13*..)
在 org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:584)
... 3个

我下载了 JCE Cryptography 扩展并将 jars 放在我的构建路径中,但这似乎没有做任何事情。我尝试在上面的 setAlgorithm 中使用多种组合,包括“PBE”、“PBEWithSha”(1|2|128|256)?、“PBEWithHmacSha”等。

我也尝试过使用 BouncyCaSTLe,但我也没有任何运气。任何帮助或指导表示赞赏!

最佳答案

正如@Rook 正确指出的那样,您需要指定一个包含加密算法的 PBE 算法。许多例子中有两个是 "PBEWithSHA1AndDESede"这是由 SunJCE provider 支持的和 "PBEWITHSHA256AND128BITAES-CBC-BC"这是由 BouncycaSTLe JCE 提供程序支持的。

关于java - 使用 Java 存储 SHA2 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3982502/

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