通过Python在SHA512中对MySQL数据库中的密码进行哈希处理

时间:2009-07-25 21:49:59

标签: python mysql database hash

此问题基于on the answer

我想知道如何通过SHA1散列密码,然后通过Python删除MySQL数据库中的明文密码。

如何通过Python在MySQL数据库中散列密码?

4 个答案:

答案 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