Алгоритмы и структуры данных на Python. Хеш-функции, хеши, хештаблицы

Слайд 2

План урока

Что такое хеши и где они используются
Виды хеш-функций
Хеш-таблицы

План урока Что такое хеши и где они используются Виды хеш-функций Хеш-таблицы

Слайд 3

Что такое хеш?

Трансформация данных любого типа и длины в битовую строку.
Американское блюдо

Что такое хеш? Трансформация данных любого типа и длины в битовую строку.
из мяса, картофеля и лука (to hash - рубить).

Слайд 4

Пример хеша

Вы создали аккаунт в приложении.
Ваш пароль хешируется за счет хеш-функции и

Пример хеша Вы создали аккаунт в приложении. Ваш пароль хешируется за счет
сохраняется в БД.
Если вы потом пытаетесь залогиниться, то введенный вами пароль пропускается через хеш-функцию и сравнивается с хешем правильного пароля, сохраненным в БД.
При совпадении хешей пользователь получает доступ к ресурсу, иначе пароль будет запрошен повторно.
Шаги 3 и 4 проходят каждый раз, когда вы будете проходить авторизацию.

password

hash

Слайд 5

Еще пример хеша

Все то же самое, только вместо пароля код активации

activation_key

hash

Еще пример хеша Все то же самое, только вместо пароля код активации activation_key hash

Слайд 6

Хеш-функции

Хеш-функции

Слайд 7

«Соленые» хеши

«Соленые» хеши

Слайд 8

Хеш-таблицы

0

2

1

3

4

“Диваны”

3

25000

0

2

1

3

4

“Диваны”

25000

0

2

1

3

4

“Диваны”

1500

“Стул”

Хеш-таблицы 0 2 1 3 4 “Диваны” 3 25000 0 2 1

Слайд 9

Коллизии хешей

Одинаковые хеши для объектов!

Например, коллизии хешей выявлены для md5 и sha1!

Что

Коллизии хешей Одинаковые хеши для объектов! Например, коллизии хешей выявлены для md5
делать?

«Солите» хеши!