python中密码的安全性
我正在学习python,所以我想我会尝试制作一个脚本,自动为我发送gmail电子邮件 它需要发送一个登录名和密码到我的gmail帐户,自动为我发送一些电子邮件 我在这里读了一些指南,似乎passlib是一个不错的选择。但我仍然有点困惑如何设置它python中密码的安全性,python,email,encryption,Python,Email,Encryption,我正在学习python,所以我想我会尝试制作一个脚本,自动为我发送gmail电子邮件 它需要发送一个登录名和密码到我的gmail帐户,自动为我发送一些电子邮件 我在这里读了一些指南,似乎passlib是一个不错的选择。但我仍然有点困惑如何设置它 我使用passlib加密我的密码 结果将存储在我的linux虚拟机中的一个隐藏文件中 当脚本运行时,它需要解析我的虚拟机上隐藏的文件以获取hased密码 这是我困惑的地方,我想我需要解密它,然后再发送出去?这不是很不安全吗?或者我可以发送它而不解密,希望
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(gmail_sender, gmail_passwd)
谢谢starttls()调用设置了加密的SSL/TLS连接,因此密码不会以明文形式发送。是,在将密码发送到服务器之前,您需要解密密码。login()。或者,您可以将密码存储在一个环境变量中,并将其读入python,这虽然不那么安全,但更易于实现。starttls()调用设置加密的SSL/TLS连接,因此密码不会以明文形式发送。是,在将密码发送到服务器之前,您需要解密密码。login()。或者,您可以将密码存储在一个环境变量中,并将其读入python,这虽然不那么安全,但更易于实现。Passlib实际上可能不是正确的选择。它主要关注密码的单向散列。您可以使用生成的哈希来验证用户提供的密码是否与您的哈希匹配,但不能解密哈希。(较旧的Passlib版本确实有一个名称不正确的
.encrypt()
方法,但Passlib 1.7将其重命名为.hash()
)
根据您的用例,您可能需要两件事情中的一件:
- 是一个python接口,用于在操作系统控制的“钱包”中保存和存储密码。它在windows、linux等平台上跨平台工作
- 是做那样事情的好选择;它提供了许多不需要(太多)加密经验的高级函数,例如它们的助手李>
- 在这里,Passlib实际上可能不是正确的选择。它主要关注密码的单向散列。您可以使用生成的哈希来验证用户提供的密码是否与您的哈希匹配,但不能解密哈希。(较旧的Passlib版本确实有一个名称不正确的
方法,但Passlib 1.7将其重命名为.encrypt()
) 根据您的用例,您可能需要两件事情中的一件:.hash()
- 是一个python接口,用于在操作系统控制的“钱包”中保存和存储密码。它在windows、linux等平台上跨平台工作
- 是做那样事情的好选择;它提供了许多不需要(太多)加密经验的高级函数,例如它们的助手李>