kalman03

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

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

          當我們使用DES等加密算法時,如下:

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

          將用到該算法類對應的工程在Eclipse中發(fā)布為web工程,通過Eclipse啟動Tomcat服務,可能會遇到這樣的異常信息:

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

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

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

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

          個人覺得是這樣的原因,因為目前為止也沒看到有誰有更好的解決方案。

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

          評論

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復  更多評論   


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

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復  更多評論   


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

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案[未登錄]  回復  更多評論   

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

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復  更多評論   

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

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復  更多評論   

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

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復  更多評論   

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

          # re: java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES 解決方案  回復  更多評論   

          通過腳本啟動java類也會出現(xiàn)這個問題。
          2015-08-31 18:07 | 牛牛牛
          主站蜘蛛池模板: 恩施市| 武义县| 郁南县| 黄山市| 隆尧县| 安丘市| 那坡县| 旬阳县| 房产| 介休市| 塘沽区| 道孚县| 绥滨县| 家居| 永仁县| 当涂县| 博客| 上饶县| 彰化市| 长沙县| 石河子市| 林芝县| 右玉县| 武宣县| 渭南市| 武安市| 南阳市| 修文县| 皮山县| 牙克石市| 津市市| 吴旗县| 呈贡县| 清原| 长阳| 灌阳县| 沾化县| 平阳县| 丰台区| 华亭县| 廉江市|