【问题标题】:Jasypt with the Bouncy Castle JCE SHA512 encryptionJasypt 使用 Bouncy Castle JCE SHA512 加密
【发布时间】:2015-06-13 01:22:59
【问题描述】:

我需要: 使用 sha512 摘要和 256 位 AES 加密并设置 cbc 和 bc 标志的基于密码的加密

看来算法应该是这样的:PBEWithSHA512AndAES256-CBC-BC

但在我的本地环境中我收到错误:org.jasypt.exceptions.EncryptionInitializationException: java.security.NoSuchAlgorithmException: no such algorithm: PBEWithSHA512AndAES256-CBC-BC for provider BC

我的测试代码:

import java.security.Security;

import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;

public class App {

static {
    Security.addProvider(new BouncyCastleProvider());
}

public static void main(String[] args) {
    StandardPBEStringEncryptor mySecondEncryptor = new StandardPBEStringEncryptor();
    mySecondEncryptor.setProviderName("BC");
    // mySecondEncryptor.setAlgorithm("PBEWITHSHA256AND128BITAES-CBC-BC");
    mySecondEncryptor.setAlgorithm("PBEWithSHA512AndAES256-CBC-BC");
    mySecondEncryptor.setPassword("pass");

    String myText = "Mindaugas";
    String mySecondEncryptedText = mySecondEncryptor.encrypt(myText);

    System.out.println(mySecondEncryptedText);
    System.out.println(mySecondEncryptor.decrypt(mySecondEncryptedText));
}
}

PBEWITHSHA256AND128BITAES-CBC-BC - 此算法运行良好,但我需要 sha512 和 256 位 AES...

我已经安装了扩展表单:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

但仍然出现此错误:no such algorithm

【问题讨论】:

  • 可能是,有人可以提出更好的方法来实现我的目标(带有 cbc bc 标志的 sha512 和 256 位 AES)吗?
  • 您确定已将扩展安装到正确的 JRE 中吗?如果您安装了 JDK,则您安装了两个 JRE,我建议您将扩展安装到它们中。
  • 是的,安装在 Java\jdk1.7.0_75\jre\lib\security 和 \Java\jre7\lib\security 以防万一……
  • 您确定算法名称正确吗?或者,我会尝试使用 mySecondEncryptor.setConfig(...) 来指定您需要的算法。
  • 不确定 100% 算法名称是否正确...但我没有找到如何使用 sha512 摘要和 256 位 AES 加密并设置 cbc 和 bc 标志来配置基于密码的加密的加密器 ...

标签: encryption bouncycastle jce sha512 jasypt


【解决方案1】:

由于bouncycastle website 上的算法列表没有更新,查看Java 文件BouncyCastleProvider.java 的构造函数中的代码,您可以找到bcprov-jdk16 支持的算法列表。支持的小列表(您正在寻找的算法/函数类型)是 -

PBEWITHSHAAND128BITAES-CBC-BC
PBEWITHSHAAND192BITAES-CBC-BC
PBEWITHSHAAND256BITAES-CBC-BC
PBEWITHSHA256AND128BITAES-CBC-BC
PBEWITHSHA256AND192BITAES-CBC-BC
PBEWITHSHA256AND256BITAES-CBC-BC
PBEWITHSHA1AND128BITAES-CBC-BC
PBEWITHSHA1AND192BITAES-CBC-BC
PBEWITHSHA1AND256BITAES-CBC-BC
PBEWITHSHA-1AND128BITAES-CBC-BC
PBEWITHSHA-1AND192BITAES-CBC-BC
PBEWITHSHA-1AND256BITAES-CBC-BC
PBEWITHSHA-256AND128BITAES-CBC-BC
PBEWITHSHA-256AND192BITAES-CBC-BC
PBEWITHSHA-256AND256BITAES-CBC-BC

【讨论】:

    猜你喜欢
    • 2011-01-26
    • 2011-08-20
    • 1970-01-01
    • 2020-09-01
    • 2021-11-04
    • 2018-10-06
    • 2012-05-10
    • 2015-06-24
    • 2020-01-17
    相关资源
    最近更新 更多