亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

java.security.NoSuchAlgorithmException: Unsupported secret key algorithm: DES

java.security.NoSuchAlgorithmException: Unsupported secret key algorithm: DES

????????????????at com.sun.crypto.provider.DHKeyAgreement.engineGenerateSecret(DHKeyAgreement.java:387)

????????????????at javax.crypto.KeyAgreement.generateSecret(KeyAgreement.java:648)

我使用 JDK1.8,這是什么問題?

代碼是看視頻寫的,并且也參考了評論中的部分代碼。運行都是這個問題。

正在回答

4 回答

由于JDK版本不同,在Java 8 update 161版本以后就會出現此問題,根本原因還是DH密鑰長度至少為512位,而DES算法密鑰沒有這么長,密鑰長度不一致引起的。

解決方法:

配置JVM的系統變量:-Djdk.crypto.KeyAgreement.legacyKDF=true

https://img1.sycdn.imooc.com//5bbdae8800016f9210920689.jpg

4 回復 有任何疑惑可以回復我~
#1

五行_缺錢

牛逼啊 o( ̄▽ ̄)d
2019-05-17 回復 有任何疑惑可以回復我~

我的也是,怎么解決的 ?。?/p>

java.security.NoSuchAlgorithmException: Unsupported secret key algorithm: DES

at com.sun.crypto.provider.DHKeyAgreement.engineGenerateSecret(DHKeyAgreement.java:387)

at javax.crypto.KeyAgreement.generateSecret(KeyAgreement.java:648)

at com.wbs.security.dh.ImoocDH.jdkDH(ImoocDH.java:50)

at com.wbs.security.dh.ImoocDH.main(ImoocDH.java:24)


47????????KeyAgreement receiverKeyAgreement = KeyAgreement.getInstance("DH");

48????????receiverKeyAgreement.init(receiverPrivateKey);

49????????receiverKeyAgreement.doPhase(receiverPublicKey, true);

50????????SecretKey receiverDesKey = receiverKeyAgreement.generateSecret("DES");


0 回復 有任何疑惑可以回復我~

jdk版本問題

0 回復 有任何疑惑可以回復我~

這里的 DES。

//3.密鑰構建

KeyAgreement receiveKeyAgreement = KeyAgreement.getInstance("DH");

receiveKeyAgreement.init(receivePrivateKey);

receiveKeyAgreement.doPhase(receivePublicKey, true);

SecretKey receiveDesKey = receiveKeyAgreement.generateSecret("DES");

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JAVA實現非對稱加密
  • 參與學習       27495    人
  • 解答問題       37    個

非對稱加密算法在JAVA中的實現,了解非對稱加密算法應用場景

進入課程

java.security.NoSuchAlgorithmException: Unsupported secret key algorithm: DES

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號