Хеширование пароля: это способ избежать коллизий? - PullRequest
3 голосов
/ 30 мая 2011

Я думал об использовании 2 ключей для хеширования каждого пароля пользователя, получения 2 разных хешей.Таким образом, было бы (почти?) Невозможно найти работающий пароль, отличный от действительного пароля.

Это правильно?Стоит ли это того?

Ответы [ 3 ]

7 голосов
/ 30 мая 2011

Важное правило для изучения - «никогда не пытайся изобретать свою собственную криптографию».В лучшем случае вы просто теряете время, а в худшем случае создаете дыры в безопасности.

Если вы не уверены, являетесь ли вы исключением из этого правила, вы не исключение из этого правила.

Разработчики криптографических хэшей уже беспокоятся о коллизиях, поэтому вам не придется.Просто выберите один (SHA-256 - хороший выбор) и сосредоточьте свои усилия на остальной части вашего приложения.

6 голосов
/ 30 мая 2011

Вместо этого вы можете использовать SHA256 в качестве алгоритма хеширования.На сегодняшний день не было обнаружено никаких коллизий, и очень маловероятно, что в будущем будут какие-либо коллизии с паролями .

5 голосов
/ 30 мая 2011

Вы можете просто использовать более длинный хеш.Например, SHA-512 имеет 512 бит и (при условии, что он однороден) намного, гораздо реже конфликтует с SHA-256.Но лично я бы не волновался об этом.Сами большинство паролей имеют длину менее 32 байт (256 бит), и поэтому вероятность их столкновения с SHA-256 должна быть крайне низкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...