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