【发布时间】:2021-05-11 17:34:51
【问题描述】:
我正在从事一个个人项目,我计划将用户信息以加密形式存储在服务器上。这大致是我的应用程序的架构。
写入数据:
User Data -> [Encryption in browser via "Secret Key"] -> Encrypted data -> Server
读取数据:
Server -> Encrypted Data -> [Decryption in browser via "Secret Key"] -> User Data
我有两种加密方式:
方法一:
- 使用用户提供的“Secret Key”进行加密并发送给服务器存储。
注意:这种方法会使更改“密钥”变得很麻烦。所有数据都应导入客户端,使用现有“密钥”解密并使用“新密钥”加密。
方法二:
-
在客户端生成一个“随机密钥”,用于加密数据。
-
使用用户提供的“Secret Key”将这个“Random Key”加密存储在服务器上——“Encrypted Random Key”。 - 解密时,使用“Secret Key”解密得到“Random Key”,用于进一步解密加密消息。
注意:使用此方法更改密码要容易得多,我必须解密“加密随机密钥”才能获得“随机密钥”,现在我可以使用“新密钥”再次对其进行加密。
我有两个问题:
-
虽然方法 1 可以明确归类为端到端加密。我想知道我是否也可以将方法 2 归类为端到端加密?
-
作为用户,您是否愿意使用使用方法 2 存储您的个人信息的应用程序。
提前致谢。
【问题讨论】:
标签: encryption