Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 1.95 KB

File metadata and controls

45 lines (34 loc) · 1.95 KB

Хэширование в программировании


Современный алгоритм хеширования называется SHA-3 он существует с 2015 года.

Криптографическая хеш-функция - это алгоритм, который преобразует произвольные данные в целые числа.


Функция hash()

По сути хеширование - это алгоритм, что вычисляет целое число для данных, в случае хеширования самих целых чисел, получим само это число, но для всех остальных типов данных будет вычислено новое число.

Для целых чисел и чисел с плавающей точкой хеш значение вычисляется всегда одно и тоже.

Хеширование используется только для неизменяемых типов данных, то есть мы не можем использовать 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)    

    # Будет ошибка