我有一个相对简单的文本处理算法,可以从文本文件中导入一些单词并生成一个短语。如果启用了设置标志(一个简单的常量),则该算法可以采用第二条路径。第二条路径基本上是过滤掉一些单词的附加列表理解。
在这两种情况下,算法产生相同的短语(str1
及str2
以下),但每个短语的 md5 哈希值不同。我使用 Python shell 确认了这一点:
(注意:短语和哈希值不是正在使用的实际值)
>>> import hashlib
>>>
>>> str1 = "some phrase"
>>> str2 = "some phrase"
>>> str1 == str2
True
>>>
>>> md5 = hashlib.md5()
>>>
>>> md5.update(str1.encode('utf-8'))
>>> hash_1 = md5.hexdigest()
>>>
>>> md5.update(str2.encode('utf-8'))
>>> hash_2 = md5.hexdigest()
>>>
>>> print(hash_1)
34281bdd108d35dec09dd6599bc144gf
>>> print(hash_2)
0670d0df2506c7gf0d5ee27190g2d919
Run Code Online (Sandbox Code Playgroud)
这怎么可能?