Чому паролі md5 хешируються по-різному?


22

Я деякий час задавався питанням, чому запуск "echo 'helloworld" | openssl passwd -1 -stdin "щоразу дає різні результати? Якщо я поміщаю будь-який хеш у мій / etc / shadow, я можу використовувати їх як мій пароль і логін в мою систему, як це працює?

computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$xlm86SKN$vzF1zs3vfjC9zRVI15zFl1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$/0.20NIp$pd4X9xTZ6sF8ExEGqAXb9/
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$sZ65uxPA$pENwlL.5a.RNVZITN/zNJ1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$zBFQ0d3Z$SibkYmuJvbmm8O8cNeGMx1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$PfDyDWER$tWaoTYym8zy38P2ElwoBe/

Я думаю, що оскільки я використовую цей хеш, щоб описати системі, яким повинен бути мій пароль, я повинен отримувати однакові результати кожного разу. Чому я не став?


3
Якби вони були однакові щоразу, зловмисник міг би просто розмістити мільярди загальних паролів і легко перевірити їх.
Девід Шварц

Відповіді:


37

Всі вони мають різну сіль . Унікальна сіль вибирається щоразу, оскільки солі ніколи не повинні використовуватися повторно. Використання унікальної солі для кожного пароля робить їх стійкими до атак на веселковий стіл .



6
Можливо, було б непогано згадати, що вихід включає сіль після $ 1 $ (символи долара є роздільниками).
ткнути

6
Отже, у хеші '$ 1 $ xlm86SKN $ vzF1zs3vfjC9zRVI15zFl1' xlm86SKN є сіль, а vzF1zs3vfjC9zRVI15zFl1 - хеш солоного helloworld?
Пітер

2
@ Петер: точно.
Йоахім Зауер

3

Дійсно, якщо ви надаєте сіль в командному рядку, ви завжди отримуєте однаковий результат.

$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/
$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/
$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.