【发布时间】:2012-06-01 08:01:35
【问题描述】:
我正在尝试将数百个帐户插入MySQL 数据库。我无法插入明文密码,并且我的应用程序需要 SHA-1 密码哈希。快速在线搜索将我指向Python's hashlib libray。
这是我生成 SHA-1 哈希的 Python 代码:
import hashlib
m = hashlib.sha1();
m.update("kpVtk5y6");
m.digest();
如何在 SQL 查询中使用 m.digest 来存储密码?
我的 Web 应用程序使用 Java 的 MessageDigest.digest(mypassword.getBytes()) 方法来存储密码,所以我需要在 Python 中实现类似的东西来自动注入用户帐户。
【问题讨论】:
-
不使用 m.digest(),你能用 m.hexdigest() 代替吗?这样,您使用的是 ASCII 字符串而不是二进制。
-
实际上,我不必使用 ASCII 字符串,并且密码字段定义为 byte[] 而不是字符串。 python 是否有 byte[] 等价物? Java 的 MessageDigest.digest() 返回一个 byte[],而我在 python 中正是需要它。
标签: java python mysql sql sha1