本文主要使用对接案例中的C++开发案例进行介绍
p(大质数)和 g(生成元)a,计算公钥 A = g^a mod pb,计算公钥 B = g^b mod pK = B^a mod pK = A^b mod pK = g^(ab) mod pnetwork_program.h 中配置服务端的DH公钥:reqCommonInit() 函数加密请求参数:decrypt_response() 函数解密服务端响应:get_client_dh_keypair()load_server_dh_public_key(hex_public_key)generate_client_dh_keypair(server_dh)dh_encrypt_with_server_key(plaintext, server_public_key_hex, client_dh)dh_decrypt_with_server_key(ciphertext_base64, server_public_key_hex, client_dh)X509EncodedKeySpec需要X.509格式的公钥,因此客户端公钥使用X.509 SubjectPublicKeyInfo格式编码。network_program.h中的client_dh_private_key和client_dh_public_key变量中,下次运行时就会使用保存的密钥。