Forum Webscript.Ru

Программирование => Perl => Тема начата: от 14 Февраля 2002, 11:08:15

Название: генерилка паролей
Отправлено: от 14 Февраля 2002, 11:08:15
Люди добрые, плиз, напишите или скиньте юрл добротной генерилки паролей. Я бы и сам придумал, но фантазия ваще перестала работать, да и времени на ее включение нету ;)
Название: генерилка паролей
Отправлено: NeoNox от 14 Февраля 2002, 11:38:54
Есть такая функция crypt(). Детальнее о ней можно узнать perldoc -f crypt.
Теперь сам пример скрипта:



===================================
#!/usr/bin/perl
$pass = "пароль";
$salt = join \'\', (\'.\', \'/\', 0..9, \'A\'..\'Z\', \'a\'..\'z\')[rand 64, rand 64];

$cryptpass = crypt($pass,$salt);

print "Content-type: text/html\\n\\n";

print $cryptpass;
====================================


Замените значение переменной $pass на необходимый пароль и запустите скрипт.
Удачи!
Название: генерилка паролей
Отправлено: Chs от 14 Февраля 2002, 12:04:06
2 Neonox:
ИМХО просили генератор, а не шифрователь паролей.
Правда при необходимости за него может сойти и строка:
$salt = join \'\', (\'.\', \'/\', 0..9, \'A\'..\'Z\', \'a\'..\'z\')[rand 64, rand 64];
при увеличении размерности массива.

P.S.:
Замечание к стилю программирования:
Если скриптом выдаются текстовые данные не логичнее ли использовать
print "Content-type: text/plain\\n\\n";  HTML-ем то и не пахнет.:)
Название: генерилка паролей
Отправлено: NeoNox от 14 Февраля 2002, 12:25:03
Цитировать
ИМХО просили генератор, а не шифрователь паролей.
(смущенно) точно... наверное не проснулся еще :)
Цитировать
Правда при необходимости за него может сойти и строка:
$salt = join \'\', (\'.\', \'/\', 0..9, \'A\'..\'Z\', \'a\'..\'z\')[rand 64, rand 64];
при увеличении размерности массива.

Да, сойдет. Тогда сокращаем до:
====================================

#!/usr/bin/perl
 
$salt = join \'\', (\'.\', \'/\', 0..9, \'A\'..\'Z\', \'a\'..\'z\')[rand 64, rand 64, rand 64, rand 64, rand 64, rand 64, rand 64]; #Пароль на 7 симолов

print "Content-type: text/html\\n\\n";
print $salt;
====================================


Цитировать
HTML-ем то и не пахнет.

А следом пойдет сообщение, типа что ваш скрипт нифига не работает :) Лучше уж пусть так. И результат на лицо...
Название: Может так проще будет?
Отправлено: puh от 14 Февраля 2002, 12:51:38
@chr=(0..9,A..Z);
$psw = join("", @chr[map{rand @chr}(1..5)]);
Название: генерилка паролей
Отправлено: от 14 Февраля 2002, 13:22:44
Пасибо всем за подсказки.
После некототой доратотки я пришел к выводу, что для меня пойдет следующая генерилка:

$kol=8; # длина пароля
for ($i=1;$i<=$kol;$i++){$pass.= (0..9, \'A\'..\'Z\', \'a\'..\'z\')[rand 62]}

Ура!!! кофе подействовало и фантазия заработала.
Название: а еще
Отправлено: Green Kakadu от 15 Февраля 2002, 15:07:11
а еще было бы неплохо придумать как бы сделать их более звучными (т.е. проверять и влиять на кол-во гласных исогласных). для лучшей запоминаемости