tl; dr Вы не можете, если только вы не пишете свою собственную функцию или не реализуете патч обезьяны.
Хеши не предназначены для возврата одного и того же значения для нескольких совершенно разных фрагментов данных (хотя неизбежно были столкновения, like with MD5, из-за длины хеша). Вы можете написать свою собственную функцию, чтобы проверить переданное значение и вернуть ему уникальное значение, если вам нужно. Пример:
import hashlib
def my_func(thing):
hash_for_cheese = 'fea0f1f6fede90bd0a925b4194deac11'
if thing == "cheese":
return hash_for_cheese
elif thing == "football":
return hash_for_cheese
else:
return hashlib.md5(thing).hexdigest()
В этом случае, тот же хэш будет возвращен, если вы прошли cheese
или football
функции, в противном случае она будет возвращать другой хэш.
Также нет «файла конфигурации». Это всего лишь конкретный алгоритм, написанный в программе на C. Если вы в отчаянии, вы можете изменить его, но он будет работать только в вашей системе.
Вы также можете реализовать так называемый патч обезьяны. Я не осведомлен в этой области, но вы можете узнать больше информации от this SO post.
Как указывали другие, я не могу придумать вариант использования для такого рода проблем, хотя, если вам нужно это сделать, тогда у вас есть свой ответ.
Каков ваш прецедент? Зачем вам ** нужно ** для этого? – sberry
Это проблема [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Расскажите, что вы действительно хотите сделать. – zvone
Я хочу протестировать свое приложение, используя MD5. он быстро открыт. У меня есть тестовый пример о дне рождения MD5. поэтому я хочу, чтобы Md5 всегда имел один и тот же результат, чтобы проверить мое приложение, как он будет обрабатывать это. –