|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Igor Nikolayev 2:5020/968.168 03 Sep 2001 15:10:53 To : Pavel Ammosov Subject : crypt -------------------------------------------------------------------------------- Pavel Ammosov -=> Igor Nikolayev: PA> Твоя подпрограмма шифрует пароль, используя однононаправленную функцию PA> crypt() -- perldoc -f crypt, man 3 crypt. Да, с этим было все ясно. :) Просто хотелось понять, для чего все эти навороты. IN>> насколько она эффективна, и какие есть другие варианты криптования. PA> Твой вариант неэффективен: неправильно инициализируется rand(). Я так понял, что она вообще не работает, т.к. следующая функция выполняет точно такое же кодирование. sub crypt_passwd { my ($passwd, $salt) = (@_, '$1$'); return(crypt($passwd,$salt)); } PA> Hу и еще может проблема, если ты станешь применять ее на старых машинах, PA> где crypt не умеет MD5. Что он не умеет? 8) PA> Так будет лучше: (пункт про старые машины уместен и тут) Hу я думаю, что смогу найти не самый старый сервер. :) PA> sub crypt_password($) { PA> my $password = shift; PA> my $salt = '$1$'; PA> for (1..8) { PA> $salt .= ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[rand 64]; PA> } PA> return (crypt($password, $salt)); PA> } Спасибо, но у меня есть два вопроса. Во-первых, зачем у названия функции стоит ($)? Так ничего не работает. Во-вторых, почему эта функция выдает тот же результат, что и обе мои? %) see you Игорь Hиколаев --- no respect * Origin: welcome to fight club (2:5020/968.168) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/190903b936767.html, оценка из 5, голосов 10
|