2016-09-19 1 views
1

Ну, я не знаю, что это действительно называется, поэтому я называю это динамическая соль хеширование. Недавно я столкнулся с алгоритмом хэширования, который использует динамическую соль (генерируется случайным образом). В результате одна и та же строка генерирует разные значения хеширования. Интересно, как это работает, а также как оно проверяется. Функция проверки принимает только 2 параметра: строку и значение хеша. Я хочу знать, как это работает.Как работает «динамическая соль»?

Edit:

Я видел похож (но не дублировать) вопрос мой: https://crypto.stackexchange.com/questions/1770/salts-how-does-the-script-know-what-the-salt-is

И мой вопрос, и один, пока не ответил.

+0

Было бы проще, если бы вы могли сказать нам, какой алгоритм это –

+0

это BCrypt, я думаю, – someone

+0

BCrypt хранит соль в полученном хеш-значении. Посмотрите здесь пример, который должен прояснить: https://en.wikipedia.org/wiki/Bcrypt – CBroe

ответ

1

Основной причиной динамической соли является предотвращение атаки «Rainbow table».

Следовательно, вам нужно будет хранить соль где-нибудь (например, в таблице). Затем, каждый раз, когда вы хотите подтвердить пароль, вам придется получить эту соль.

Термин «динамическая соль» не означает, что он меняется каждый раз, когда вы его проверяете. Это означает, что это динамическое значение для каждой записи.

This В бумаге есть все, что вам нужно знать.

+0

Как я уже сказал, соль не передается в качестве параметра при проверке. – someone