密码学 12 AES和RSA 的结合

多种加密算法的常见结合套路
随机生成AES密钥AESKey
AESKey密钥用于AES加密数据,得到数据密文cipherText
使用RSA对AESKey加密,得到密钥密文cipherKey
提交密钥密文cipherKey和数据密文cipherText给服务器

JAVA实现

// 客户端实现
String AESkey = genAESkey();
String plain_Text = "qianniuwei";
String AES_Ciper_Text = AES_T.encryptAES(AESkey,plain_Text);

String AESkey_en_by_RSA = RSABase64_T.encryptBase64(AESkey);
Log.d("hengdi","AESkey_en_by_RSA:"+AESkey_en_by_RSA);

// 服务端解密过程 -------------
String AESkey_ = decryptBase64(AESkey_en_by_RSA);
Log.d("hendi","AES_T key:" + AESkey_);
String origin_plain_Text  = AES_T.decryptAES(AESkey_,AES_Ciper_Text);
Log.d("hengdi","origin_plain_Text:"+origin_plain_Text);

你可能感兴趣的:(密码学)