Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption Jasypt和弹性城堡JCE SHA512加密_Encryption_Bouncycastle_Jce_Sha512_Jasypt - Fatal编程技术网

Encryption Jasypt和弹性城堡JCE SHA512加密

Encryption Jasypt和弹性城堡JCE SHA512加密,encryption,bouncycastle,jce,sha512,jasypt,Encryption,Bouncycastle,Jce,Sha512,Jasypt,我需要: 使用sha512解码和256位AES加密并设置cbc和bc标志的基于密码的加密 似乎算法应该是这样的:PBEWithSHA512AndAES256 CBC BC 但是在我的本地环境中,我得到了错误:org.jasypt.exceptions.EncryptionInitializationException:java.security.NoSuchAlgorithmException:没有这样的算法:PBewithSHA512和256 CBC BC用于提供程序BC 我的测试代码: im

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

似乎算法应该是这样的:PBEWithSHA512AndAES256 CBC BC

但是在我的本地环境中,我得到了错误:org.jasypt.exceptions.EncryptionInitializationException:java.security.NoSuchAlgorithmException:没有这样的算法:PBewithSHA512和256 CBC BC用于提供程序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));
}
}
PBEWITHSA256和128位AES-CBC-BC-此算法运行良好,但我需要sha512和256位AES

我已安装扩展表单:


但是仍然会出现这样的错误:没有这样的算法,因为上的算法列表没有更新,查看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

由于上的算法列表未更新,请查看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

也许,有人能建议更好的方法来实现我的目标sha512和256位AES和cbc bc标志吗?你确定你已经将扩展安装到正确的JRE中了吗?如果您安装了JDK,则安装了两个jre,我建议您将扩展安装到这两个jre中。是的,安装在Java\jdk1.7.0_75\jre\lib\security和\Java\jre7\lib\security中,以防万一……您确定算法名称正确吗?或者,我会尝试使用mySecondEncryptor.setConfig。。。用于指定所需的算法。不确定该算法名称是否100%正确。。。但我不知道如何使用设置了cbc和bc标志的sha512解码和256位AES加密来配置加密机进行基于密码的加密…可能是,有人能建议更好的方法来实现我的目标吗?使用cbc bc标志的sha512和256位AES?您确定已将扩展安装到正确的JRE中吗?如果您安装了JDK,则安装了两个jre,我建议您将扩展安装到这两个jre中。是的,安装在Java\jdk1.7.0_75\jre\lib\security和\Java\jre7\lib\security中,以防万一……您确定算法名称正确吗?或者,我会尝试使用mySecondEncryptor.setConfig。。。用于指定所需的算法。不确定该算法名称是否100%正确。。。但我找不到如何使用设置了cbc和bc标志的sha512解码和256位AES加密为基于密码的加密配置加密程序。。。