【发布时间】:2011-03-16 08:17:24
【问题描述】:
我希望使用用户输入的字符串生成密码,我正在阅读的书建议使用sha 而不是md5,因为它被认为更强大。
sha 但是已被弃用,我现在使用hashlib 模块以类似于此处显示的方式加密我的字符串:http://docs.python.org/py3k/library/hashlib.html#module-hashlib。
import os
import hashlib
from getpass import getpass
print('Username: ' + os.environ['USER'])
passwd = getpass('Password: ')
h = hashlib.md5()
h.update(passwd.encode())
passwd_encrypt = h.hexdigest()
然后我将passwd_encrypt 与一个包含用户名列表和加密密码的纯 ascii 文件进行比较,如下所示:
THO 5f4dcc3b5aa765d61d8327deb882cf99
这是加密密码的合适技术还是有更好的方法?我也对以这种方式存储密码是否合适以及可能的替代方案感兴趣。
谢谢
【问题讨论】:
标签: python encryption passwords python-3.x