Я прочитал эти две темы, и я не могу, по-видимому, понять разницу между солевыми и ненужными хэшами.
В чем разница между хеш-солением и вставкой?
Ответ 1
Соль - это несекретное случайное значение, которое используется для обеспечения того, чтобы один и тот же текст не постоянно хешировался с одним и тем же выходным значением; он использовался для предотвращения предвыборных атак, таких как Радужные таблицы.
"nonce" ( "число, используемое один раз" ) является обычно генерируемым случайным образом значением, связанным с сообщением в криптографической схеме, и должно быть уникальным в пределах определенной области (например, заданного временного интервала или сеанса), Он обычно используется для предотвращения повторных атак.
Nonces и соли аналогичны и служат связанным целям, но не идентичны. Оба они обычно генерируются случайным образом, а не секретно, и служат для предотвращения атак, которые в противном случае были бы возможны против системы. Они отличаются главным образом тем контекстом, в котором они используются, и в последствиях повторов - дублирующая соль неважна, но дубликат nonce может иметь тяжелые последствия.
Ответ 2
nonce = число, используемое один раз. Если вы создаете уникальную соль для каждого бита данных, который вы хешируете, то это, по сути, тоже nonce.
Ответ 3
A Соль (случайное число) используется так, что один и тот же пароль не всегда генерирует один и тот же ключ. т.е. соль просто добавляется, чтобы сделать общий пароль необычным.
A Salt - это то, что мы добавляем к нашему хешу, чтобы предотвратить радужные атаки с использованием радужных таблиц, которые в основном представляют собой просто огромные таблицы поиска, которые конвертируют хэши в пароли следующим образом:
dffsa32fddf23safd -> passwordscrete
f32ksd4343fdsafsj -> stackoverflow
Итак, хакер может найти этот стол радуги, чтобы избежать этой проблемы, мы должны хранить хеш с комбинацией пароля и соли.
hash= hashFunction(passowrd+salt)
A Nonce (N используется только один раз) не обязательно быть секретным или случайным, но его нельзя использовать повторно с помощью < тот же ключ. Это используется для предотвращения повторных атак (например, атак воспроизведения).