Java Spring安全性:简单加密/解密不工作:InvalidKeyException
我正在尝试编写一个非常简单的程序来加密和解密字符串:Java Spring安全性:简单加密/解密不工作:InvalidKeyException,java,spring-boot,encryption,spring-security,spring-data-jpa,Java,Spring Boot,Encryption,Spring Security,Spring Data Jpa,我正在尝试编写一个非常简单的程序来加密和解密字符串: String password = "kdfljxcasd"; String encodeThat = "Hello World + some special chars!^^-"; String salt = KeyGenerators.string().generateKey(); BytesEncryptor encryptor = Encryptors.standard(password, salt);
String password = "kdfljxcasd";
String encodeThat = "Hello World + some special chars!^^-";
String salt = KeyGenerators.string().generateKey();
BytesEncryptor encryptor = Encryptors.standard(password, salt);
// breakpoint steping doesn't reach that point - it gets stuck here for some reason...
byte[] encrypted = encryptor.encrypt(encodeThat.getBytes());
byte[] decrypted = encryptor.decrypt(encrypted);
System.out.println("Before encryption: " + encodeThat);
System.out.println("Encrypted: " + encrypted.toString());
System.out.println("After encryption: " + decrypted.toString());
但由于某些原因,我从未得到加密值。当我调用enryptor.encrypt()
时,它永远不会到达那个点
我得到以下异常:
'Unable to initialize due to invalid secret key' java.lang.IllegalArgumentException: Unable to initialize due to invalid secret key
我做错了什么?好的,经过几个小时的搜索,我终于找到了解决方案: 显然,我没有为无限强度安装正确的策略 我就是这样解决的:
希望有帮助:)好的,经过几个小时的搜索,我终于找到了解决方案: 显然,我没有为无限强度安装正确的策略 我就是这样解决的:
希望对您有所帮助:)因为Java 8u151,您可以使用以下属性解决此问题:
Security.setProperty(“加密策略”、“无限制”)代码>由于Java 8u151,您可以使用以下属性解决此问题:
Security.setProperty(“加密策略”、“无限制”)代码>尝试升级到较新的java 8 JDK版本
对我来说,我尝试了两种版本:
- 1.8.131-失败
- 1.8.201-成功
尝试升级到较新的java 8 JDK版本
对我来说,我尝试了两种版本:
- 1.8.131-失败
- 1.8.201-成功
有没有不添加外部罐子的方法?我不知道,对不起。但是,您是否需要一个没有外部jar的解决方案?有没有一种不添加外部jar的方法?我不知道,对不起。但是,您需要一个没有外部罐子的解决方案吗?