最近在做开发的时候遇到要对用户输入进行加密,上网搜索了一下java下可以使用的加密解密工具包。发现sun本身从jdk1.3开始就提供一个可以选用安装的sunjce工具包。利用sunjce可以产生指定加密算法下的密文于是我就按照用户手册编写了一个加密解密测试类。但是在运行时控制台总是报错没有指定算法(java.security.NoSuchAlgorithmException),可是我按照开发手册已经动态添加了实现类并指定了相应算法.
Security.addProvider(new com.sun.crypto.provider.SunJCE());
SecretKeyFactory keyFac = SecretKeyFactory.getInstance("PBEWithMD5AndDES");
按照控制台错误信息搜索了一下,多半是说没有指定实现类即上文提到 Security.addProvider(new com.sun.crypto.provider.SunJCE());再次查找报错信息相关的网页时,发现有一个回复说将系统时间更改为2004年.试验了一下果然不报错了,那么将系统时间调到比当前时间更大的时间呢.当系统时间被调到2006年时,再次运行程序报错信息发生了变化控制台输出为:java.lang.SecurityException: Cannot set up certs for trusted CAs,在网上搜索了一下终于找到了真正原因:
JCE 1.2.1的证书失效,在2005/07/28以后软件可能不能正常工作,jdk1.3的用户可以从http://java.sun.com/products/jce/index-122.html下载最新的sunjce工具包jce1.2.2后覆盖原来的jce1.2.1.jar即可.
分享到:
相关推荐
Java加密解密字符串找不到 com.sun.crypto.provider.SunJCE() 用到jar包
DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;
包括:Java、Android、C、C++、iOS、JavaScript,共6中语言间AES的加密解密实现,且各种语言间密文、明文互通,每种语言1分共6分,觉得值就拿走。 Java和Android依赖sunjce_provider.jar,其他语言无依赖; C和C++...
JAVA数据加密jar包之sunjce_provider.rar,sunjce_provider.jar
dec加密解密用,仅供参考。dec加密解密用,仅供参考。dec加密解密用,仅供参考。dec加密解密用,仅供参考。
Java部分使用了JDK自带的SunJCE加密框架,一般网上可以找到的Java加密解密都是使用SunJCE框架,还有一个比较著名的 Java开源加密工具是bouncycastle(http://www.bouncycastle.org/),因为SunJCE是JDK自带的,所以...
Java加密解密字符串找不到 com.sun.crypto.provider.SunJCE() 用到jar包,将包放入lib目录,build path引入,即可
sunjce_provider.zip
这个是sunjce_provider.jar包,是java sun里面自带的加密包,不知道为啥我加载的时候缺少这个包,上传一下。之前好像不能设置,现在可以设置了改了积分为0.如果它涨上去的话叫我一下可以私发给你
Solving the problem was a matter of putting the sunjce_provider.jar in one of the folders specified in the java.ext.dirs parameter. Hard to find, easy to solve. 把sunjce_provider.jar 放到JDKclasspath...
找不到com.sun.crypto.provider.SunJCE(),是由于新版的JRE中没有提供这个JAR,导入即可
jce.jar security/US_export_policy.jar ... 以下是java中调用sun公司提供的3DES加密解密算法的样本代码: 代码如下:/*字符串 DESede(3DES) 加密*/ import java.security.*; import javax.crypto.*; import javax.c
new com.sun.crypto.provider.SunJCE()找不到,需要导入jar包,而这个jar包在高版本的jdk里面已经找不到了,只有jdk1.6_13里面才有。提供出来。
Windows上加解密正常,linux上加密正常,解密时发生如下异常: javax.crypto.BadPaddingException: Given final block not properly padded at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) at ...
sunjce_provider.jar