kalman03

          每天早上看一遍《福布斯》富翁排行榜,如果上面沒(méi)有我的名字,我就去學(xué)習(xí)......
          隨筆 - 22, 文章 - 0, 評(píng)論 - 86, 引用 - 0
          數(shù)據(jù)加載中……

          java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案

          當(dāng)我們使用DES等加密算法時(shí),如下:

          Security.addProvider(new com.sun.crypto.provider.SunJCE());
          //獲得密鑰
          Key generateKey = new KeyTools().getKey(key.getBytes());
          Cipher encryptCipher 
          = Cipher.getInstance("DES");

          將用到該算法類對(duì)應(yīng)的工程在Eclipse中發(fā)布為web工程,通過(guò)Eclipse啟動(dòng)Tomcat服務(wù),可能會(huì)遇到這樣的異常信息:

          java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES

          網(wǎng)上的解決方案說(shuō)什么sunjce_provider.jar路徑問(wèn)題啊,什么需要換成IBM的JDK之類的。。。。。
          除了沒(méi)換JDK,其他的方法都試過(guò),但是沒(méi)一個(gè)起作用的。到底有沒(méi)有更好的解決方案?

          其實(shí)很簡(jiǎn)單,將編譯好的工程部署好,直接啟動(dòng)Tomcat而不是通過(guò)Eclipse的Tomcat插件啟動(dòng),那么將不會(huì)出現(xiàn)這樣的異常信息。

          原因剖析:
          對(duì)Eclipse的jar包,它隱掉了SUN公司關(guān)于某些Jar包的簽名信息,這樣當(dāng)你在Eclipse中啟動(dòng)服務(wù)的話,就可能導(dǎo)致上述的異常。

          個(gè)人覺(jué)得是這樣的原因,因?yàn)槟壳盀橹挂矝](méi)看到有誰(shuí)有更好的解決方案。

          posted on 2010-01-27 19:19 kalman03 閱讀(11504) 評(píng)論(7)  編輯  收藏 所屬分類: IDE

          評(píng)論

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復(fù)  更多評(píng)論   


          方法可以 !
          2010-01-28 14:29 | qvod

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復(fù)  更多評(píng)論   


          解決了!
          2010-01-28 14:31 | 愛(ài).倫理

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案[未登錄](méi)  回復(fù)  更多評(píng)論   

          我現(xiàn)在也遇到了這個(gè)問(wèn)題,如果說(shuō)直接啟動(dòng)tomcat可以找到des,而用eclipse啟動(dòng)tomcat就找不到這個(gè)算法的話,我是這樣想的,他們肯定是用到了某個(gè)jar包中的算法,這個(gè)jar包應(yīng)該就是sunjce_provider.jar了。
          您的意思是說(shuō)實(shí)際上兩者用的jar包都是相同的,但是eclipse屏蔽了sunjce_provider.jar中的des算法?
          但是我試過(guò)了,如果工程不需要用到tomcat,eclipse還是可以找到des算法的,所以問(wèn)題的關(guān)鍵是不是在于eclipse中tomcat的設(shè)置或者是eclipse的tomcat插件呢?
          2010-02-26 13:51 | test

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復(fù)  更多評(píng)論   

          @test
          其實(shí)我的意思是當(dāng)你通過(guò)Eclipse Tomcat插件啟動(dòng)Tomcat服務(wù)時(shí),會(huì)遇到這樣的問(wèn)題,個(gè)人覺(jué)得Eclipse在發(fā)布這樣的一個(gè)Web工程的時(shí)候,會(huì)隱藏掉一些簽名信息。
          2010-02-26 19:46 | “:”

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復(fù)  更多評(píng)論   

          在csdn下了一個(gè)jce-jdk13-120.jar,加入后搞定.
          2012-03-05 10:20 | liveimain

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復(fù)  更多評(píng)論   

          贊,已解決
          2013-08-19 20:54 | HankJhq

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復(fù)  更多評(píng)論   

          通過(guò)腳本啟動(dòng)java類也會(huì)出現(xiàn)這個(gè)問(wèn)題。
          2015-08-31 18:07 | 牛牛牛
          主站蜘蛛池模板: 金华市| 榆社县| 七台河市| 东阳市| 苗栗市| 藁城市| 德惠市| 前郭尔| 板桥市| 遵义市| 南昌县| 临汾市| 荔浦县| 黑龙江省| 阿尔山市| 瑞丽市| 顺平县| 江城| 宁海县| 隆化县| 永州市| 桓仁| 青冈县| 砚山县| 长海县| 溆浦县| 汉中市| 准格尔旗| 建始县| 东安县| 鲁山县| 合川市| 江门市| 潮州市| 荆门市| 仙游县| 涿州市| 精河县| 罗田县| 闽清县| 新竹市|