import hashlib
#id.txt的内容是010010
with open("id.txt","r") as zd:
b=zd.readline().strip('\n')
print b
m = hashlib.md5()
m.update(b)
id_md5=m.hexdigest()
print id_md5
n = hashlib.md5()
n.update('010010')
id_md5=n.hexdigest()
print id_md5
为什么加密之后这2个的值不一样。正确好像是后面那个。
read的时候用“rb”试试,以二进制格式读取内容,没有编码转换的问题。
或者读取之后,对读取到的字符串encode('ascii')一下,把它从unicode类型(我猜)转成str类型
看起来可能是编码不一样,或者 Windows 下文本换行符是 \r\n
导致的
终端编写测试,结果是一样的呀。。
你print b
的时候,打印出来的内容是什么, 不可能不一样的啊。
我这边是一样的:
用的你的代码,Sublime3
运行。