在python中保护密码

D.会

我正在学习python,所以我想尝试制作一个自动为我发送Gmail电子邮件的脚本。

它需要向我的gmail帐户发送登录名和密码,才能自动为我发送一些电子邮件。

我在这里阅读了一些指南,似乎passlib是一个不错的选择。但是我对如何设置还是有些困惑。

  1. 我使用passlib加密密码
  2. 结果将存储在我的linux vm中的隐藏文件中。
  3. 当脚本运行时,它需要解析我的虚拟机上的该隐藏文件以获取急需的密码。
  4. 这是我很困惑的地方,我想我需要解密它,然后将其发送出去吗?那不是很不安全吗?还是我可以不解密就发送它,希望gmail可以解密它?

我正在使用SMTP库。

server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(gmail_sender, gmail_passwd)

谢谢

伊丽·柯林斯(Eli Collins)

Passlib在这里实际上可能不是正确的选择。它主要涉及密码的单向散列。您将能够使用生成的哈希值来验证用户提供的密码是否与您的哈希值匹配,但不能对哈希值进行解密。(较早的Passlib版本确实有一个错误命名的.encrypt()方法,但Passlib 1.7将其重命名为.hash())。

您可能需要以下两种情况之一,具体取决于您的用例:

  • keyring是一个Python界面,用于在操作系统控制的“钱包”中保存和存储密码。它可以在Windows,Linux等平台上跨平台工作。

但是,如果需要从登录的桌面会话之外触发的脚本中运行密码,可能会觉得很尴尬。

在这种情况下,您可能需要加密用于存储的凭据,然后选择一个密码(在调用时提供给脚本,例如从命令行提示符或env var)以解密这些凭据。

  • 密码术是执行类似操作的好选择;它提供了许多不需要(太多)加密经验的高级功能,例如其Fernet加密助手。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章