最贊回答 / qq_Insomnic_0
由于JDK版本不同,在Java 8 update 161版本以后就會出現(xiàn)此問題,根本原因還是DH密鑰長度至少為512位,而DES算法密鑰沒有這么長,密鑰長度不一致引起的。解決方法:配置JVM的系統(tǒng)變量:-Djdk.crypto.KeyAgreement.legacyKDF=true<...圖片...>
2018-05-17
1、甲方(消息發(fā)送方,下同)構(gòu)建密鑰對(公鑰+私鑰),甲方公布公鑰給乙方(消息接收方,下同)
2、乙方以甲方發(fā)送過來的公鑰作為參數(shù)構(gòu)造密鑰對(公鑰+私鑰),將構(gòu)造出來的公鑰公布給甲方
3、甲方用“甲方的私鑰+乙方的公鑰”構(gòu)造本地密鑰
4、乙方用“乙方的私鑰+甲方的公鑰”構(gòu)造本地的密鑰
不應(yīng)該是這種方式嗎?但是我看老師的代碼,用的是
甲方公鑰+甲方密鑰構(gòu)造本地的密鑰,乙方公鑰+乙方密鑰構(gòu)造本地的密鑰,
是我看錯了嗎???????
2、乙方以甲方發(fā)送過來的公鑰作為參數(shù)構(gòu)造密鑰對(公鑰+私鑰),將構(gòu)造出來的公鑰公布給甲方
3、甲方用“甲方的私鑰+乙方的公鑰”構(gòu)造本地密鑰
4、乙方用“乙方的私鑰+甲方的公鑰”構(gòu)造本地的密鑰
不應(yīng)該是這種方式嗎?但是我看老師的代碼,用的是
甲方公鑰+甲方密鑰構(gòu)造本地的密鑰,乙方公鑰+乙方密鑰構(gòu)造本地的密鑰,
是我看錯了嗎???????
2018-04-07
已采納回答 / _Alance
1.發(fā)送方構(gòu)建公鑰私鑰。2.發(fā)送方發(fā)布發(fā)送方公鑰。3.接收方接收發(fā)送方公鑰構(gòu)建接收方公鑰私鑰。4.接收方發(fā)布接收方公鑰。5.發(fā)送方通過發(fā)送方的私鑰和接收方的公鑰構(gòu)建對稱加密秘鑰用于加密。6.接收方通過接收方的私鑰和發(fā)送方的公鑰構(gòu)建對稱加密秘鑰用于解密。7.發(fā)送方通過秘鑰加密數(shù)據(jù)并發(fā)送。8.接收方接收數(shù)據(jù)并通過秘鑰解密數(shù)據(jù)。我稍微整理了下<...code...>
2018-04-07