我使用的是Python 3.5,当我使用hashlib.md5()时,从数据库返回的值与在外部哈希处的字符串时相同。
我正在使用的代码:
self.m = hashlib.md5()
self.m.update(self.password.encode('utf-8'))
self.passCheck = self.m.digest()
当使用'user1pass'作为密码时,此过程返回:
b' \xa0\xdbS\xbc\x18\x81\xa7\xf79\xcd\x95kt\x009'
但是,当我从数据库中提取时:
self.cur.execute("SELECT Username, Password FROM Users WHERE Username = ?;", username)
self.userFindings = self.cur.fetchall()
self.userDetails = []
for each in self.userFindings:
self.userDetails.append(list(each))
return self.userDetails
在这种情况下,self.userDetails看起来像这样:
[['user1', "b' \\xa0\\xdbS\\xbc\\x18\\x81\\xa7\\xf79\\xcd\\x95kt\\x009'"]]
在这个过程中,斜线加倍,意味着它们无法正确比较。任何人都知道是什么导致了这个?
编辑:输出照片
答案 0 :(得分:0)
我现在发现,如果我打开列表,那么两个哈希值匹配。它似乎是显示错误