2024-09-28 23:15:40 发布
网友
我们正在开发管理用户文档的应用程序。 我们正在实现一个新功能-处理用户的电子邮件。你知道吗
用户在settings选项卡中输入他的凭据(登录、密码、imapProvider)。然后我们将这些数据传递给另一个负责检索电子邮件的服务。你知道吗
settings
问题
必须有一个机制,将加密密码的一方和解密的另一方。有什么办法可以实施吗?提前谢谢。你知道吗
您可以使用电子邮件服务生成RSA public/private密钥对。电子邮件服务将是唯一知道私钥(用于解密)的服务,但将与其他服务共享公钥(用于加密)。电子邮件登录数据应该加密存储,最好不要存储在电子邮件服务上(如果电子邮件服务被破坏,来自用户的电子邮件登录数据也不会被破坏)。使用公钥的加密甚至可以在前端使用javascript完成。你知道吗
但请注意,强烈建议不要实现自己的加密堆栈,因为有成千上万种方法会使其出错。除非您是密码学专家,否则请使用可信库。你知道吗
实现这一点有不同的方法,我建议您查找SHA - 256或其他替代方法。应该有很多关于单向函数和加密的信息。你知道吗
SHA - 256
您不必检查密码是否匹配,只需比较单向加密的输出即可。你知道吗
伪代码:
password_string = ‘some password‘ encrypted_pw = sha256(password_string) [...] if encrypted_pw == encrypted_pw_to_compare: [...]
这比以原始格式存储和处理用户数据要安全得多。你知道吗
您可以使用电子邮件服务生成RSA public/private密钥对。电子邮件服务将是唯一知道私钥(用于解密)的服务,但将与其他服务共享公钥(用于加密)。电子邮件登录数据应该加密存储,最好不要存储在电子邮件服务上(如果电子邮件服务被破坏,来自用户的电子邮件登录数据也不会被破坏)。使用公钥的加密甚至可以在前端使用javascript完成。你知道吗
但请注意,强烈建议不要实现自己的加密堆栈,因为有成千上万种方法会使其出错。除非您是密码学专家,否则请使用可信库。你知道吗
实现这一点有不同的方法,我建议您查找
SHA - 256
或其他替代方法。应该有很多关于单向函数和加密的信息。你知道吗您不必检查密码是否匹配,只需比较单向加密的输出即可。你知道吗
伪代码:
这比以原始格式存储和处理用户数据要安全得多。你知道吗
相关问题 更多 >
编程相关推荐