Зачем урезать хеш пароля до 14 символов? - PullRequest
2 голосов
/ 17 декабря 2010

Я работаю над некоторым кодом, и в какой-то момент он готовит пароль для хранения в базе данных.В грубом псевдокоде он делает следующее:

encrypted_password = truncate(hash(password), 14)

Т.е. вычисляет хэш пароля, затем усекает хэш до 14 символов.


Кто-нибудь знает, почему приложение будет усекатьтаким образом хэш?Это очень преднамеренно, поэтому я подозреваю, что это делает хеш совместимым с каким-то довольно стандартным типом хранилища паролей, о котором я не знаю.

(Пожалуйста, не обращайте внимания, что это не отличный способ для хранения паролей,без соления и т.д ..)

1 Ответ

2 голосов
/ 17 декабря 2010

Единственная причина, по которой я могу придумать, - это поддерживать совместимость с какой-то устаревшей системой.Фактически, это единственная причина, по которой я могу думать о том, чтобы принимать сознательные решения, чтобы пожертвовать безопасностью в любом случае.

Рассмотрим сеть, которая имеет безумно старые блоки UNIX, например, которые способны использовать тольковосьмисимвольные пароли с классической функцией crypt ().Чтобы они могли выполнять аутентификацию на других системах, или чтобы другие системы выполняли аутентификацию на этих устаревших системах UNIX, каждый должен манипулировать данными аутентификации, используя один и тот же метод.

Фактически, единственная причина передачипароли (хэшированные, хешированные + соленые или иные) по сети предназначены для того, чтобы соответствовать устаревшей системе или системе, которая в противном случае имеет то, что я бы назвал «устаревшими требованиями».То же самое относится и к системам, которые в остальном относительно слабы в смысле безопасности.

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