python - MD5 加密问题

标签 python encryption md5

我用 Python 编写了一个加密程序,我的选择之一是 md5 加密。当我通过我的 md5 加密运行已知字符串时,如果我通过 md5 加密网站或 firefox 的 cryptofox 运行完全相同的字符串,我会收到不同的哈希值。

例如。我的程序哈希输出 - fe9c25d61e56054ea87703e30c672d91 - 明文:g4m3

例如。在线哈希/cryptofox - 26e4477a0fa9cb24675379331dba9c84 - 明文:g4m3

完全相同的单词,2 个不同的哈希值。 现在是我的代码片段:

word="g4m3"
string=md5.new(word).hexdigest()
print string

最佳答案

您在 MD5 输入字符串中包含了一个换行符:

>>> import md5
>>> word="g4m3"
>>> md5.new(word).hexdigest()        # no newline
'26e4477a0fa9cb24675379331dba9c84'
>>> md5.new(word + '\n').hexdigest() # with a newline
'fe9c25d61e56054ea87703e30c672d91'

从文件中读取数据时,确保删除行尾的换行符。您可以使用 .rstrip('\n') 仅从行尾删除换行符,或使用 .strip() 删除所有 行首或行尾的空格:

>>> word = 'g4m3\n'
>>> md5.new(word).hexdigest()
'fe9c25d61e56054ea87703e30c672d91'
>>> word = word.strip()
>>> md5.new(word).hexdigest()
'26e4477a0fa9cb24675379331dba9c84'

关于python - MD5 加密问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17795593/

相关文章:

c - aes-256-cbc 加密/解密 key 不起作用

linux - uDeploy 安全组件属性在 shell 脚本中保持加密

java - 自编码 RSA 实现

java - &0xff 和 MD5 结构有什么作用?

android - 如何获取小牛的MD5指纹

python - 由于 pip freeze(包括所有 anaconda 软件包)导致 Heroku 部署出现问题

python - 在 WikidPad、reStructuredText 和 HTML 之间转换

python - 类型错误 : 'str' object is not callable

python - Heroku 上的 Flask 数据库迁移

linux - Md5 哈希来识别和存档图像