BRAZHKO.info

Блог о компьютерном железе и IT-технологиях

Скрипт генерации паролей на Perl

| комментариев 11

Этот скрипт был написан/найден мной года 4 назад. С тех пор я периодически пользуюсь им для генерации паролей в консоли. Может кому пригодится. Называется passgen:

#!/usr/bin/perlprint "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 комментария

  1. passook
    emerge passook 🙂

  2. export LC_ALL=C && echo `tr -cd [:alnum:] < /dev/urandom |head -c16`

  3. А что, про mkpasswd только я знаю (с детских лет)?

  4. dd if=/dev/urandom count=1 2>/dev/null|md5sum

  5. apg -a 1 -n 1 -m 16 -M ncl

  6. head -c6 /dev/random | uuencode -m — | sed -n ‘2s/=*$//;2p’ | col -x

  7. Мои пять копеек : )
    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()

  8. #!/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 для того и писали…

  9. apg и встроенная генерилка в keepassx

  10. Встроенная генерилка в KeepassX.

  11. Спасибо всем комментаторам. Очень познавательно.

Добавить комментарий

Войти с помощью: 

Обязательные поля отмечены *.