【发布时间】:2020-11-15 13:13:20
【问题描述】:
我在我的服务器上创建了一个 RSA 密钥对,并且只有该服务器将拥有私钥。客户端(颤振应用程序)将有权访问公钥。因此,当服务器收到一条加密消息时,它会知道该消息来自正确的客户端,并会使用它的私钥解密通过公钥加密的消息。
当服务器(php 7.3)向客户端发送回复时,我想通过服务器端的私钥加密消息,以便客户端可以使用公钥解密消息。
非对称加密有其自身的限制,例如最大字符长度。但是发送和接收小消息会很好。
Flutter 包 encrypt & pointycastle 似乎不支持使用公钥解密。我不希望客户同时拥有这两个密钥。
我可能不得不使用对称加密。但如果您能提出解决方案,我将不胜感激。
注意:我已经能够通过 pointycastle 使用公钥加密消息,但编写一个使用公钥解密数据的函数对我来说非常复杂。
【问题讨论】:
-
您是否了解在您的方案中任何拥有公钥的人都可以解密,因此您根本没有安全性?
标签: flutter dart encryption rsa public-key