#!/usr/bin/perl
print "Password length:";
chomp($length=<stdin>);
$length=~s/\D*//g;
$length||='8';
srand();
@letters=('a'..'z','A'..'Z',0..9,'#','*','_','-','+','=');
for (1..$length){($pass.=$letters[rand(@letters)])};
print "\033[1;31m$pass\033[0;39m\n";

Есть еще неплохая утилита Pwgen.
Pwgen is a small, GPL'ed password generator which creates passwords which can be easily memorized by a human.
$ sudo apt-get install pwgenА чем пользуетесь вы для генерации паролей?
11 комментариев:
passook
emerge passook :)
export LC_ALL=C && echo `tr -cd [:alnum:] < /dev/urandom |head -c16`
А что, про mkpasswd только я знаю (с детских лет)?
dd if=/dev/urandom count=1 2>/dev/null|md5sum
apg -a 1 -n 1 -m 16 -M ncl
head -c6 /dev/random | uuencode -m - | sed -n '2s/=*$//;2p' | col -x
Мои пять копеек : )
bash:
cat /dev/urandom | tr -dc [:alnum:] | head -c 14; echo \n
python:
#! /usr/bin/python
from random import choice
import string
def genpw():
return ''.join([choice(string.ascii_letters+string.digits) for i in xrange(9)])
if __name__=='__main__':
print genpw()
#!/usr/bin/perl
my $length = $ARGV[0] || 16;
my @chars = ('a'..'z', 'A'..'Z', '0'..'9');
print join ("", @chars[ map { rand @chars } ( 1 .. $length ) ] );
Вот как-то так =)
Вообще говоря, cookbook для того и писали...
apg и встроенная генерилка в keepassx
Встроенная генерилка в KeepassX.
Спасибо всем комментаторам. Очень познавательно.
Отправить комментарий