0

我正在尝试将数百个帐户插入MySQL数据库。我无法插入明文密码,并且我的应用程序需要SHA-1哈希作为密码。快速的在线搜索将我指向Python 的hashlib 库。

这是我生成 SHA-1 哈希的 Python 代码:

import hashlib
m = hashlib.sha1();
m.update("kpVtk5y6");
m.digest();

如何在 SQL 查询中使用 m.digest 来存储密码?

我的 Web 应用程序使用 Java 的 MessageDigest.digest(mypassword.getBytes()) 方法来存储密码,所以我需要在 Python 中实现类似的东西才能自动注入用户帐户。

4

1 回答 1

0

在 Python 中,您不需要在行尾添加分号。

根据https://stackoverflow.com/a/5241478/181772,您所说的应该可行。例如:

conn = MySQLdb.connect(host='localhost')
r = conn.cursor()
r.execute('INSERT INTO users (hash) VALUES (%s)', m.digest())
conn.commit()

因为m.digest()返回的str是 Python 2 的字节等价物。上面的链接显示这些可以插入到 MySQL 数据库中。

因此,如果这就是您已经在做的事情,那么听起来您的代码中有错误。

于 2012-05-26T01:15:40.283 回答