сложность хеш-соли - PullRequest
       6

сложность хеш-соли

1 голос
/ 29 января 2011

Есть ли польза от использования:

sha1($long_unpredictable_randomly_generated_salt.$password.$global_salt)

сверх

sha1(sha1($username).$password.$global_salt)

Уникальная соль, очевидно, хранится в базе данных, в то время как глобальная соль находится в файле конфигурации наserver.

Я знаю, что цель соли - просто быть уникальной и предотвращать заранее вычисленные хеш-таблицы ... поэтому я не вижу причин, по которым длинный хеш, сгенерированный sha1($username), не достаточно хорош ... нопоскольку безопасность очень важна, я подумал, что я бы попросил информативного совета у кого-то, кто может знать лучше: -)

1 Ответ

4 голосов
/ 29 января 2011

Недостатком является то, что имя пользователя в основном известно, поэтому, когда кто-то знает эту «формулу», которую вы составили, он может просто вычислить sha1(user_to_hack), и эта часть не будет иметь никаких дополнительных преимуществ.На самом деле, это не имеет большого значения, если вы используете sha1(username) или просто username в этом случае.

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

Вам, вероятно, все равно придется получать данные, так что уникальная соль, вероятно, тоже быстрее, потому что вам не нужно вычислять хэшusername.

Но, в любом случае, оба довольно безопасны, , но только если , вы правильно реализуете процедуру входа в систему.Я бы не беспокоился о том, какой из них использовать прямо сейчас.

...