有两种方法可以用一个密钥加密数据并用两个密钥解密吗?

时间:2018-09-16 07:37:46

标签: java mobile cypher password-encryption

我必须使用密钥对客户端进行加密,并将其保存在服务器上,但是如果用户忘记了密钥,我将使用公共密钥来解密数据,这可能是提示问题的答案

1 个答案:

答案 0 :(得分:0)

是的,有可能。基本思想是您使用特定于文档的密钥。例如。

  1. 生成特定于要加密文件的新密钥对。
  2. 使用文档的私钥对其进行加密。
  3. 使用每个用户的公共密钥来加密文档的公共密钥。
  4. 将文档公钥的所有加密与文档一起发送。
  5. 每个用户都可以使用自己的私钥来解密使用hir私钥加密的文档密钥,然后使用该密钥来解密文档。

有关更完整/更严格的说明,

实际上,不需要使用公钥加密来完成文档加密。具有相同密钥进行加密和解密的经典(强)对称加密方案也应该工作。 (实际上更好,因为文档的加密/解密会更快。)

也许还有其他(好的)方法可以做到这一点。但是,建议对文档进行多次加密并发送所有副本,这显然存在一个问题,即您可以为N个人有效地发送(或存储)N个文档副本。