Для того чтобы получить хеш-значение от словаря (dict), вы можете использовать hashlib из стандартной библиотеки Python. Один из популярных и безопасных алгоритмов хеширования — это SHA-256.
Сначала, нужно сериализовать словарь в строковое представление (например, в формат JSON), а затем получить хеш этой строки.
import hashlib
import json
def dict_hash(d):
serialized_data = json.dumps(d, sort_keys=True).encode()
return hashlib.sha256(serialized_data).hexdigest()
d1 = {"a": 1}
d2 = {"a": 1}
hash1 = dict_hash(d1)
hash2 = dict_hash(d2)
print(hash1 == hash2) # Вернет True, потому что содержимое словарей идентично
Этот метод позволяет получить уникальное строковое представление для каждого уникального словаря. По сути, вы можете сохранить это значение хеша и проверять его через 10 минут. Если хеши совпадают, то содержимое словарей также совпадает.
Обратите внимание, что в этом методе используется sort_keys=True при сериализации в JSON. Это делается для гарантии того, что порядок ключей в словаре не влияет на результат хеширования. Если порядок ключей может изменяться, но при этом словари остаются идентичными, то без сортировки ключей у вас могут получаться разные хеш-значения для идентичных словарей.