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,這是什么問題?
代碼是看視頻寫的,并且也參考了評論中的部分代碼。運行都是這個問題。
2018-10-10
由于JDK版本不同,在Java 8 update 161版本以后就會出現此問題,根本原因還是DH密鑰長度至少為512位,而DES算法密鑰沒有這么長,密鑰長度不一致引起的。
解決方法:
配置JVM的系統變量:-Djdk.crypto.KeyAgreement.legacyKDF=true
2018-06-20
我的也是,怎么解決的 ?。?/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");
2018-06-11
jdk版本問題
2018-05-17
這里的 DES。