java RSA,如何向后通信
所以,一般来说,我对加密非常陌生,但我的客户机-服务器应用程序需要它,我选择RSA来完成这项任务。对于包数据的加密,我使用客户机的公钥并将密文发送到服务器,现在服务器使用他的私钥对其进行解密并可以读取消息。我的实际问题是:如何在服务器端加密数据并将其发送回客户端?我听说过一个“秘密密钥”,它是以某种方式从客户端和服务器密钥创建的,但我没有真正了解这个过程。看到了吗here。这次我是创建另一对密钥并将私钥发送给客户端,还是有其他方法
你可以在下面搜索框中键入要查询的问题!
所以,一般来说,我对加密非常陌生,但我的客户机-服务器应用程序需要它,我选择RSA来完成这项任务。对于包数据的加密,我使用客户机的公钥并将密文发送到服务器,现在服务器使用他的私钥对其进行解密并可以读取消息。我的实际问题是:如何在服务器端加密数据并将其发送回客户端?我听说过一个“秘密密钥”,它是以某种方式从客户端和服务器密钥创建的,但我没有真正了解这个过程。看到了吗here。这次我是创建另一对密钥并将私钥发送给客户端,还是有其他方法
# 1 楼答案
你必须理解对称加密和非对称加密之间的区别。对于RSA,有公钥和私钥。AES等对称分组密码只需要通信双方都需要的一个密钥
所以最简单的回馈方式就是
这当然只是最基本的设置。为了获得完美的前向保密性,需要使用Diffie-Hellman Key Exchange。AES加密最好使用经过身份验证的操作模式,如GCM
如果你不想头痛,使用TLS