【发布时间】:2017-01-14 20:16:25
【问题描述】:
我正在使用 Werkzeug 进行密码散列,以便用户输入的密码是安全的(至少)。
假设我的应用程序如下:
当用户登录时,我将使用 check_password_hash 然后登录用户。
用户登录后,我想向他们显示他们的密码。
我遇到的问题:
如何将散列密码转换回字符串以向用户显示他们的密码?
我的代码如下:
>>> import werkzeug.security as ws
>>> ws.generate_password_hash('abcdefg')
'pbkdf2:sha1:1000$fYAXLNA6$637528ae2fa195304c328d585e805b164f1c718f'
>>> ws._hash_internal('pbkdf2:sha1:1000', 'fYAXLNA6', 'abcdefg')
('637528ae2fa195304c328d585e805b164f1c718f', 'pbkdf2:sha1:1000')
现在如何将这个 '6375.....' 转换回 'abcdefg'?
我可以访问数据库和所有其他所需的东西。基本上我是管理员!
注意:我不能使用用户在登录时输入的密码。我只能使用数据库中的密码。
【问题讨论】:
-
为什么要向用户显示密码?
-
其实密码并没有显示给用户,这个密码会被用来抓取另一个网站(vtop.vit.ac.in/parent/parent_login.asp),自动获取用户的考勤,不需要输入所有的DOB,手机号码的东西,我将存储一个会话,每当用户登录时,他们就可以检查他们的出席情况。
-
我明白了,这是一个不同的问题。你应该在你的问题中说清楚,否则我的答案是通常的答案。您需要编写自己的密码管理器。他们通常做的是用主密码加密数据,但问题是使用什么主密码。
标签: python security hash werkzeug