Diffie-Hellman (DH) 算法由公鑰密碼奠基人提出,允許雙方在公開信道交換信息生成「一致」共享密鑰。流程:甲方生成密鑰對,公鑰給乙方;乙方用甲方公鑰生成自己的密鑰對,公鑰回給甲方;雙方約定對稱加密算法(如 DES),各自用私鑰+對方公鑰構建本地 SecretKey,實現加解密互通。可擴展至多方共享。源於中國餘數定理。
繼承 Coder,ALGORITHM = "DH",SECRET_ALGORITHM = "DES"。核心:
initKey():甲方生成密鑰對initKey(String key):乙方解析甲方公鑰(X509EncodedKeySpec),獲取 DHParameterSpec 生成自己的密鑰對getSecretKey(publicKey, privateKey):KeyAgreement 初始化私鑰、執行 doPhase(pubKey, true)、生成 SecretKeyencrypt/decrypt:用 SecretKey 作對稱加解密DHCoderTest:生成甲乙密鑰對,雙向加解密「abc」/「def」均成功。控制台輸出雙方公私鑰 BASE64 及明密文對照,驗證雙方在交換公鑰後均可加密發送、解密接收,實現安全通信。