Современный алгоритм хеширования называется SHA-3 он существует
с 2015 года.
Криптографическая хеш-функция - это алгоритм, который преобразует произвольные данные в целые числа.
По сути хеширование - это алгоритм, что вычисляет целое число для данных, в случае хеширования самих целых чисел, получим само это число, но для всех остальных типов данных будет вычислено новое число.
Для целых чисел и чисел с плавающей точкой хеш значение вычисляется всегда одно и тоже.
Хеширование используется только для неизменяемых типов данных, то есть
мы не можем использовать hash() функцию для списков словарей и
множеств.
Кортежи являются неизменяемыми типами данных, но сами кортежи могут содержать в себе изменяемые типы, в случае если кортеж содержит только не изменяемые данные то его можно использовать для хеширования, то есть если он содержит числа и строки то да, а если в нем появляется список то уже нет.
my_set1 = (1,2,'sfd')
hash1 = hash(my_set1)
print(my_set1)
print(hash1)
my_set2 = (1,2, [1,2,3])
hash2 = hash(my_set2)
print(my_set2)
print(hash2)
# Будет ошибка