java.security.NoSuchAlgorithmException: Cannot find any provider supporting DESede/CBC/PKCS5Padding
最近在做3DES加密,在本地window下面运行ok的程序,放到linux环境上竟然报错:
Java.security.NoSuchAlgorithmException: Cannot find any provider supporting DESede/CBC/PKCS5Padding
at javax.crypto.Cipher.getInstance(Cipher.java:524)
at com.haha.encrypt.ThreeDES.encryptMode(ThreeDES.java:30)
at com.haha.encrypt.ThreeDES.encryptString(ThreeDES.java:101)
at com.haha.mina.MinaServerHandler.sessionIdle(MinaServerHandler.java:91)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.sessionIdle(DefaultIoFilterChain.java:665)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionIdle(DefaultIoFilterChain.java:398)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1000(DefaultIoFilterChain.java:47)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionIdle(DefaultIoFilterChain.java:755)
at org.apache.mina.core.filterchain.IoFilterAdapter.sessionIdle(IoFilterAdapter.java:95)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionIdle(DefaultIoFilterChain.java:398)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1000(DefaultIoFilterChain.java:47)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionIdle(DefaultIoFilterChain.java:755)
at org.apache.mina.core.filterchain.IoFilterAdapter.sessionIdle(IoFilterAdapter.java:95)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionIdle(DefaultIoFilterChain.java:398)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireSessionIdle(DefaultIoFilterChain.java:391)
at org.apache.mina.core.session.AbstractIoSession.notifyIdleSession0(AbstractIoSession.java:1303)
at org.apache.mina.core.session.AbstractIoSession.notifyIdleSession(AbstractIoSession.java:1289)
at org.apache.mina.core.session.AbstractIoSession.notifyIdleness(AbstractIoSession.java:1274)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.notifyIdleSessions(AbstractPollingIoProcessor.java:760)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$900(AbstractPollingIoProcessor.java:67)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1135)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
对比了下Security.getProviders()
window下:
INFO 2014-04-30 10:32:12 ServerStarter:67 - 0[SUN]
INFO 2014-04-30 10:32:12 ServerStarter:67 - 1[SunRsaSign]
INFO 2014-04-30 10:32:12 ServerStarter:67 - 2[SunEC]
INFO 2014-04-30 10:32:12 ServerStarter:67 - 3[SunJSSE]
INFO 2014-04-30 10:32:12 ServerStarter:67 - 4[SunJCE]
INFO 2014-04-30 10:32:12 ServerStarter:67 - 5[SunJGSS]
INFO 2014-04-30 10:32:12 ServerStarter:67 - 6[SunSASL]
INFO 2014-04-30 10:32:12 ServerStarter:67 - 7[XMLDSig]
INFO 2014-04-30 10:32:12 ServerStarter:67 - 8[SunPCSC]
INFO 2014-04-30 10:32:12 ServerStarter:67 - 9[SunMSCAPI]
linux下:
INFO 2014-04-30 10:33:55 ServerStarter:66 - 0[SUN]
INFO 2014-04-30 10:33:55 ServerStarter:66 - 1[SunRsaSign]
INFO 2014-04-30 10:33:55 ServerStarter:66 - 2[SunJSSE]
INFO 2014-04-30 10:33:55 ServerStarter:66 - 3[SunJGSS]
INFO 2014-04-30 10:33:55 ServerStarter:66 - 4[SunSASL]
INFO 2014-04-30 10:33:55 ServerStarter:66 - 5[XMLDSig]
INFO 2014-04-30 10:33:56 ServerStarter:66 - 6[SunPCSC]
怀疑是缺少SunJCE造成的,但是在linux的JAVA_HOME/jre/lib/ext目录下,有sunjce_provider.jar包,所以很奇怪。
百思不得其姐,最后在一篇文章里,找到一句话,“找到一个 sunjce_provider.jar 的文件扔到你类路径里”,结果,ok了。。。。
java.security.NoSuchAlgorithmException: Cannot find any provider supporting DESede/CBC/PKCS5Padding的更多相关文章
- java PKCS7Padding 加密Cannot find any provider supporting AES/CBC/PKCS7Padding 解决办法
在java中用aes256进行加密,但是发现java里面不能使用PKCS7Padding,而java中自带的是PKCS5Padding填充,那解决办法是,通过BouncyCastle组件来让java里 ...
- java 小程序开发PKCS7Padding 解密方法实现,以及错误Cannot find any provider supporting AES/CBC/PKCS7Padding 解决办法
近日在对接小程序API,其中wx.getUserInfo api返回的数据encryptedData 的解密算法要求为: AES-128-CBC,数据采用PKCS#7填充. 经过一番查询,得到java ...
- java.security.NoSuchAlgorithmException: AES KeyGenerator not available
异常信息 Caused by: Java.lang.IllegalStateException: Unable to acquire AES algorithm. This is required t ...
- java.security.NoSuchAlgorithmException: SHA1PRNG SecureRandom not available
好久没有使用MyEclipse10了,今天打开看了以前大学的项目,在Tomcat7中发布启动,我嚓嘞,报错: SEVERE: Exception initializing random number ...
- java.security.NoSuchAlgorithmException: DES KeyGenerator not available
更改jre,点击项目build path-->configure build path-->libraries-->jre library system-->edit--> ...
- Eclipse中Cannot find any provider supporting DES解决之道
原文出处:http://blog.csdn.net/darwinchina/article/details/12037999 异常: Caused by: java.security.NoSuchAl ...
- Java Security:Java加密框架(JCA)简要说明
加密服务总是关联到一个特定的算法或类型,它既提供了密码操作(如Digital Signature或MessageDigest),生成或供应所需的加密材料(Key或Parameters)加密操作,也会以 ...
- 利用Java自带的MD5加密java.security.MessageDigest;
MD5加密算法,即"Message-Digest Algorithm 5(信息-摘要算法)",它由MD2.MD3.MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著 ...
- Java security MD5加密算法
利用java.security对字符串进行MD5加密: import java.security.MessageDigest; import java.security.NoSuchAlgorithm ...
随机推荐
- sqlserver 2012 IDE中 Windows身份验证连接服务器报错 ,Login failed for user 'xxx\Administrator'. 原因: 找不到与提供的名称匹配的登录名。
问题描述: 本地装了两个实例,一个是SQLEXPRESS,可以正常操作.但是另一个开发常用的实例MSSQLSERVER却连Windows身份验证都报错,报的错误也是很奇葩,怎么会找不到Administ ...
- 【DevOps】谁说大象不能跳舞?
作者:范军 (Frank Fan) 新浪微博:@frankfan7 微信:frankfan7 很多企业,尤其是大企业在产品开发和运维上存在着一些普遍问题,比如开发周期长.人员合作程度不高.开发和运 ...
- Continuous Integration for iOS Apps with Visual Studio Team Services
原文引用自:https://blog.xamarin.com/continuous-integration-for-ios-apps-with-visual-studio-team-services/ ...
- 在Visual Studio中使用用例图描述系统与参与者间的关系
"用例图"用来描述谁用系统,用系统做什么.用例图不涉及使用细节,只用来描述使用人员和系统的关系,也不涉及行动的顺序.一起来体验. 使用Visual Studio 2012创建解决方 ...
- 使用Builder模式造车
Builder模式也可以造车. 对于Builder模式来说,首相要把要造的车确定下来: public class Car { public string Model { get; set; } pub ...
- 一共81个,开源大数据处理工具汇总(下),包括日志收集系统/集群管理/RPC等
作者:大数据女神-诺蓝(微信公号:dashujunvshen).本文是36大数据专稿,转载必须标明来源36大数据. 接上一部分:一共81个,开源大数据处理工具汇总(上),第二部分主要收集整理的内容主要 ...
- iOS sqlite 使用事务操作数据库
业务层代码: //将解析的更新人员数据批量同步到数据库 +(void)operateCompUsers:(NSMutableArray*)operateCompUsers { sqliteHelper ...
- 基于VHDL利用PS2键盘控制的电子密码锁设计
基于VHDL利用PS2键盘控制的密码锁设计 附件:下载地址 中文摘要 摘 要:现代社会,人们的安全意识正在不断提升.按键密码锁由于其具有方便性.低成本等特征,还是大有用武之地的.但是通常的按键密码锁开 ...
- BadgeValueView
BadgeValueView 效果 源码 https://github.com/YouXianMing/UI-Component-Collection 中的 BadgeValueView // // ...
- IOS Devices Version
游戏项目中有一个专门用于收集IOS崩溃的接口和查询页,运营/测试的同事有时候会通过查询页大概看一下每日崩溃的情况,经常会问iPhone6,1是什么,iPhone7,1又是什么设备? 我从网上仔细搜 ...