如何在Python中验证散列(sha1)密码?

时间:2013-01-07 15:53:36

标签: python authentication

我正在尝试检索密码并从Galaxy框架进行身份验证。我成功检索了哈希(sha1)格式的密码。如何使用用户输入的密码对此进行身份验证?我的第一个猜测是将散列(sha1)转换为普通字符串并进行身份验证。那可能吗?如果是,我怎么能把它转换成字符串?

2 个答案:

答案 0 :(得分:2)

...我的第一个猜测是将散列(sha1)转换为普通字符串......

这就是cryptographic hash functions试图阻止的内容(除其他外) - 此属性称为pre-image resistance

基本步骤将是相反的方式:

  • 接受用户输入
  • 计算用户输入的哈希值
  • 将哈希用户输入与存储的凭据/哈希值进行比较

答案 1 :(得分:2)

你不能。从哈希码中获取纯文本是非常困难的,这正是我们发明哈希的原因。尝试相反的方法:将纯文本转换为哈希,然后进行比较。

如何转换:

import hashlib
s = "plain"
h = hashlib.sha1(s).hexdigest()