我有一个场景,我必须根据以下内容实现安全性:
服务器使用Key_Private加密密码并将此加密密码发送给所有客户端
客户只有Key_Public,他们可以使用它来解密此密码,但不能使用此密钥加密任何新密码。
我可以为多个客户生成多个Key_Public。
我需要控制公钥的长度(应该小于20个字符)
我尝试过AES加密,但我找不到任何简单的代码。
答案 0 :(得分:2)
你的算法不起作用,因为它是向后的。
您无法使用公钥解密。公钥仅用于加密。需要私钥才能解密。这是公钥/私钥加密的基础。
相反,您希望使用会话密钥协商。
一些警告:
服务器应该在开始会话之前确保客户端是值得信任的。这可以使用带外步骤(即,公钥由可信第三方注册)来完成。或者像现代API一样,服务器生成公钥/私钥对,将其发送到客户端,并保留公钥。
服务器应正确使会话密钥到期,以防止重播