У меня есть относительно простой алгоритм обработки текста, который импортирует некоторые слова из текстового файла и создает фразу. Алгоритм имеет второй путь, который он может использовать, если включен флаг настройки (простая константа). Второй путь - это дополнительное понимание списка, отфильтровывающее некоторые слова.
В обоих случаях алгоритм выдает одну и ту же фразу (str1
и str2
ниже), но хэш md5 каждой фразы отличается. Я подтвердил это с помощью оболочки Python:
( ПРИМЕЧАНИЕ : фраза и значения хеша не являются фактическими значениями, которые используются)
>>> 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
Как это возможно?