|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/371.32 07 Aug 2000 12:52:46 To : Dmitry Ochnev Subject : Re: выполнить сложную команду из перлового сценария -------------------------------------------------------------------------------- <Dmitry_Ochnev@f54.n5022.z2.fidonet.org> wrote: MS>>>> When choosing a new salt create a random two character string whose MS>>>> characters come from the set [./0-9A-Za-z] (like join '', ('.', MS>>>> '/', 0..9, 'A'..'Z', 'a'..'z')[rand 64, rand 64]). DO>>> А мне кажется, что после того, как я это зашифрую, это нельзя будет DO>>> расшифровать однозначным способом, - "salt" выбран случайным образом, а DO>>> расшифровывать Apache это будет тоже случайным образом ?? v>> Он не будет это расшифровывать. Точка совсем. Он зашифрует введенный v>> пользователем пароль с той же солью, которая в результате crypt первые v>> два символа занимает, и сравнит. DO> То есть, при авторизации Apache считывает первые 2 байта из DO> закриптованного пароля, эти 2 байта берет в качестве salt для DO> зашифровывания введенного пользователем пароля и зашифрованный введенный DO> пароль сравнивает с зашифрованным паролем, храняшимся в файле ? Hет, сцепляет их с введенным паролем и использует результат для криптования фиксированной строки. То, что получилось, сравнивается с тем, что хранится. v>> Вот так: v>> if ($crypted eq crypt ($entered, $cryped) { DO> ^^^^^^^^ ^^^^^^^ DO> Тут опечатки нет ? Hет. Он сам разберется. Более того, если у тебя crypt(3) с поддержкой MD5, как в современных линуксах и FreeBSD, то лучше делать именно так - там salt длиннее. -- Счастливо! Ран. --- ifmail v.2.14.os-p7-tma3 * Origin: MemoNet (2:5020/371.32@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.cgi.perl/3473dc90d0e3.html, оценка из 5, голосов 10
|