gpt4 book ai didi

python - 重用 hashlib.md5 为相同的字符串计算不同的值

转载 作者:行者123 更新时间:2023-11-28 20:33:28 26 4
gpt4 key购买 nike

这是我的第一个测试代码:

   import hashlib
md5Hash = hashlib.md5()
md5Hash.update('Coconuts')
print md5Hash.hexdigest()

md5Hash.update('Apples')
print md5Hash.hexdigest()

md5Hash.update('Oranges')
print md5Hash.hexdigest()

这是我的第二段代码:

    import hashlib
md5Hash = hashlib.md5()
md5Hash.update('Coconuts')
print md5Hash.hexdigest()

md5Hash.update('Bananas')
print md5Hash.hexdigest()

md5Hash.update('Oranges')
print md5Hash.hexdigest()

但是第一个代码的输出是:

    0e8f7761bb8cd94c83e15ea7e720852a
217f2e2059306ab14286d8808f687abb
4ce7cfed2e8cb204baeba9c471d48f07

第二个代码是:

   0e8f7761bb8cd94c83e15ea7e720852a
a82bf69bf25207f2846c015654ae68d1
47dba619e1f3eaa8e8a01ab93c79781e

我将第二个字符串从“Apples”替换为“Bananas”,第三个字符串仍然保持不变。但是对于第三根弦,我仍然得到不同的结果。散列应该每次都有相同的结果。我错过了什么吗?

最佳答案

hashlib.md5.update() 添加 数据到散列。它不会替换现有值;如果你想散列一个新值,你需要初始化一个新的hashlib.md5对象。

您要散列的值是:

"Coconuts"               -> 0e8f7761bb8cd94c83e15ea7e720852a
"CoconutsApples" -> 217f2e2059306ab14286d8808f687abb
"CoconutsApplesOranges" -> 4ce7cfed2e8cb204baeba9c471d48f07

"Coconuts" -> 0e8f7761bb8cd94c83e15ea7e720852a
"CoconutsBananas" -> a82bf69bf25207f2846c015654ae68d1
"CoconutsBananasOranges" -> 47dba619e1f3eaa8e8a01ab93c79781e

关于python - 重用 hashlib.md5 为相同的字符串计算不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50535925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com