首页 > 解决方案 > 如何在服务之间安全地存储和传递第三方服务的密码?

问题描述

我们正在使用管理用户文档的应用程序。我们正在实施的一项新功能 - 使用用户的电子邮件。

用户在settings选项卡中输入他的凭据(登录名、密码、imapProvider)。然后我们将这些数据传递给我们的另一个服务,该服务负责检索电子邮件。

问题

必须有一种机制可以在一侧加密密码并在另一侧解密。任何想法如何实现它?提前致谢。

标签: pythonmicroservicessoa

解决方案


您可以让您的电子邮件服务生成RSA 公钥/私钥对。电子邮件服务将是唯一知道私钥(用于解密)的服务,但会与其他服务共享公钥(用于加密)。电子邮件登录数据应加密存储,最好不要存储在电子邮件服务上(如果电子邮件服务受到威胁,来自用户的电子邮件登录数据也不会如此)。甚至可以在前端使用 javascript 使用公钥进行加密。

但请注意,强烈建议不要实现您自己的加密堆栈,因为有成千上万种方法会出错。除非您是密码学专家,否则请使用受信任的库。


推荐阅读