比较Python哈希

时间:2016-11-03 03:39:20

标签: python hash

我想将密码的哈希值(b'¥_ÆMÐ1;2±*öªÝ=')与用户键入的哈希值(str)(hashlib.md5(pw.encode('utf-8')).hexdigest())进行比较。当我打印它们时,它们会出现不同b'¥_ÆMÐ1;2±*öªÝ=',另一个b'\xa5\x83_\xc6\x85M\xd01;2\xb1*\xf6\xaa\xdd='。出于这个原因,我无法比较这两个字符串。我正在寻找一种可以在逻辑上将b'\xa5\x83_\xc6\x85M\xd01;2\xb1*\xf6\xaa\xdd='转换为b'¥_ÆMÐ1;2±*öªÝ='的函数(每个转义码都转换为Unicode对应的转义码)。提前致谢。 BTW哈希是" lenny"的哈希。如果这有帮助。 Here是我的代码的链接。这是我的输出:

Welcome to The Vault     
Type your username:  
lenny (input not relevant)  
b'¥_ÆMÐ1;2±*öªÝ='  
b"b'\\xa5\\x83_\\xc6\\x85M\\xd01;2\\xb1*\\xf6\\xaa\\xdd='"

1 个答案:

答案 0 :(得分:1)

如果您想要哈希上下文中的原始字节,请使用.digest()而不是.hexdigest()

编辑,你的pastebin第14行应该是:

if hashlib.md5(lol.encode('utf-8')).digest() == b'\xa5\x83_\xc6\x85M\xd01;2\xb1*\xf6\xaa\xdd=':