测试jasypt时,提示 没有安装JCE扩展包,下载了一个jce_policy-1_5_0,解决

 

今天想给自己的应用数据库连接添加一下加密功能,找了一下网上帖子,就想测试一下jasypt ,听说支持hibernate框架。

首先参考网上的例子,写了加密和解密的测试例子

 

忽然发现加解密BasicTextEncryptor  还算正常

 

但是加解密 StrongTextEncryptor 时,竟然提示缺少jce ?

如下:

 

在运行 Java 程序的时候出现下面的异常:

Encryption raised an exception. A possible cause is you are using strong encryption algorithms and you have not installed the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files in this Java Virtual Machine


后来查资料了解到,JDK 竟然有限制,网上描述如下:

 

Java对JCE的出口是有限制的。

jre\lib\security目录下的local_policy.jar和US_export_policy.jar这两个文件起着至关重要的作用。通常我们下载的jdk安装后,这两个文件都是2.4k左右,事实上无JCE限制的应该是5k左右。 (我下载后也是2.4K左右)

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR页面的最下方有一个下载选项,可以下载增强型的JCE包。

我使用的是jdk5,因此我下载的5.0版本

 

我下载下来之后,就把本地的jdk备份了一下,然后替换了local_policy.jar和US_export_policy.jar

说实话,我下载的也是2.4K左右,没有网上说的5K,但是替换后,可以正常使用了

 

附件里面是我下载的包

 

你可能感兴趣的:(Java综合)