为了账号安全,请及时绑定邮箱和手机立即绑定

Python 中的 MD5 哈希

Python 中的 MD5 哈希

一只名叫tom的猫 2021-08-24 17:04:53
我得到了一个包含用户和密码的文件,格式为:$id$salt$hashed。其中 ID 代表加密类型,id=1 代表 FreeBSD 风格的 MD5。有一个例子,我知道密码=“alice”jsmith: $1$kDHTx$WKRXXT1P7UtjvU7CQ9eWs/:10063:0:99999:7:::所以我在 Python 中做了这个来检查import hashlibpassw='alice'salt='kDHTx'hashed= hashlib.md5(salt+passw).hexdigest()print('What i get is: '+hashed)print('What i should: '+'WKRXXT1P7UtjvU7CQ9eWs')但我什至没有正确获得格式:What i get is: ba359e6dd36371c4dc5c187aac11e0d8What i should: WKRXXT1P7UtjvU7CQ9eWs我做错了什么?甚至从一开始就理解错误?
查看完整描述

1 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

您需要使用该crypt库而不是hashlib.


>>> import crypt

>>> crypt.crypt('alice', crypt.METHOD_MD5)

$1$tlyP8ine$I9F3AiUCIgOjREqbx6WUg0

当您传入 .salt 时,该函数会生成盐crypt.METHOD_MD5。


要重新创建现有哈希,您可以将其作为第二个参数传入:


>>> crypt.crypt('alice', '$1$kDHTx$WKRXXT1P7UtjvU7CQ9eWs/')

$1$kDHTx$WKRXXT1P7UtjvU7CQ9eWs/


查看完整回答
反对 回复 2021-08-24
  • 1 回答
  • 0 关注
  • 198 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信