答案 0 :(得分:12)
正如文档所说,你应该使用hashlib库而不是自python 2.5以来的sha。
制作哈希非常容易。
hexhash = hashlib.sha512("some text").hexdigest()
这个十六进制数字很容易存储在数据库中。
答案 1 :(得分:7)
如果您将密码存储在数据库中,推荐的文章是Jeff的You're Probably Storing Passwords Incorrectly。本文介绍 salt 的使用以及一些存储密码的方法,这些密码看似容易出错。
答案 2 :(得分:4)
http://docs.python.org/library/sha.html
python文档对此的解释比我能好得多。
答案 3 :(得分:1)
散列密码时,不会删除明文密码。您所做的是接受来自用户的输入,对输入进行散列,并将输入的散列与存储在数据库中的散列进行比较。您永远不应存储或发送用户拥有的纯文本密码。
也就是说,你可以在较新版本的Python中使用sha库as scrager said(pre-Python 2.5)和hashlib库as David Raznick said。