2013-11-29 4 views
0

Hallo я хочу сделать скрипт, который хэширует пароли и сравнивает их с теми, внутри/и т.д./тень ... Но у меня есть одно устройствоСоздание хэш пароля, похожий на тот, внутри/и т.д./теневое

В пароли в/etc/shadow обычно получают странную и уникальную соль хешей каждый раз, когда создается новый пользователь, как я могу сгенерировать подобный хеш с использованием того же пароля?

Чтобы иметь возможность иметь одинаковые пароли один я есть и один в теневом файле

Я попытался с помощью PERL питона mkpasswd все без сопоставления его В частности, откуда соль происходят из и может я изменить Это?

+1

алгоритм является общественным, но Я слишком ленив, чтобы разобраться. IIRC первые два символа имени учетной записи используются для соли. Цель этого - сделать его менее очевидным, если у двух пользователей одинаковый пароль. – tripleee

+2

См. 'Man 3 crypt', который упоминается в' man shadow'. – scai

ответ

1

алгоритм описан в: * http://en.wikipedia.org/wiki/Crypt_%28C%29 или как использовать Perl * http://perldoc.perl.org/functions/crypt.html

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

Для проверки использования пароля: if (crypt ($ plaintext, $ hash) eq $ hash) {print ("OK"); }

0

Соль будет произвольно сгенерирована для каждого имени пользователя. Как точно генерируется случайная соль, неясно.

Однако, как только соль генерируется ПК, поставляемого пользователем ПАРОЛЬ с суффиксом значением соли и хэшированного много раз с помощью подходящего алгоритма хэширования для создания хеш-значение, которое сохраняется в/и т.д./тень ,

E.g. В современных Linux/Ubuntu SHA-512 обычно используется как алгоритм хэширования. Таким образом, если вы извлекаете О из/и т.д./тени, то хэшируются пароль может быть сгенерирован, как показан в командной строке сниппеты ниже:

mkpasswd -m sha-512 -S SALT -R 5000 PASSWORD 

В сниппета выше, если вы знаете, случайную СОЛИ, созданный системой для пользователя (доступен в файле/etc/shadow) и предоставленном пользователем PASSWORD, mkpasswd может рассчитать хешированный пароль, который хранится в/etc/shadow для вас. Количество раз алгоритм SHA-512 поставляется по умолчанию 5000. mkpasswd доступен в пакете Whois, так что если вы можете выполнить следующую команду CMD, чтобы установить инструмент в Linux:

sudo apt-get install whois