Генерация паролей

Discussion in 'Безопасность и Анонимность' started by ShadOS, 27 Oct 2007.

  1. ShadOS

    ShadOS ы

    Joined:
    11 Feb 2007
    Messages:
    667
    Likes Received:
    351
    Reputations:
    413
    Может, кому-нибудь пригодится. Сгенерировать набор (псевдо) случайных паролей в *nix можно, например, так:
    Code:
    $ dd if=/dev/urandom bs=1 count=1024 2>/dev/null | base64 -w30 | sed -n 1,45p | tr -d '+/=' | cut -c1-10
    Приведенная последовательность команд генерирует 45 случайных 10-символьных паролей, состоящих из больших латинских букв, маленьких латинских букв и цифр.
    И Аналогично можно вот так:
    Code:
    dd if=/dev/urandom bs=1 count=64 2>/dev/null | uuencode -m - | head -n2 | tail -n1 | cut -c1-10
    А вот способ ещё короче:
    Code:
    cat /dev/urandom | tr -cd A-HJ-NP-Za-km-z1-9 | head -c 12
    Вот так можно обойтись без использования спецсредств типа pwgen.
     
    4 people like this.
  2. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    а Random по клавишам уже не катит?
     
  3. Dude03

    Dude03 Elder - Старейшина

    Joined:
    5 Oct 2006
    Messages:
    49
    Likes Received:
    9
    Reputations:
    7
    ну-ну, давай 100 паролей по клавишам набивай=)
     
  4. L0rd_Ha0S

    L0rd_Ha0S Elder - Старейшина

    Joined:
    25 Jan 2006
    Messages:
    148
    Likes Received:
    102
    Reputations:
    64
    А зачем ты задал такие промежутки A-HJ-NP-Za-km-z1-9, можно ведь просто задать a-zA-Z0-9:
    Code:
    echo `cat /dev/urandom | tr -cd a-zA-Z0-9 | head -c 12`
    Результат тот же. Во всяком случае я разницы не заметил.
     
  5. nikto

    nikto Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    39
    Likes Received:
    11
    Reputations:
    4
    А вот на перл:
    PHP:
    #!/usr/bin/perl

    $m 16;
    $x 8
    $y 92

    my $pass "";
    $n 1;

    @
    mass = ( "1",  "2",  "3",  "4",  "5",  "6",  "7",  "8",  "9",  "0",    # 10
              
    "a",  "b",  "c",  "d",  "e",  "f",  "g",  "h",  "i",  "j",    # 20
              
    "k",  "l",  "m",  "n",  "o",  "p",  "q",  "r",  "s",  "t",    # 30
              
    "u",  "v",  "w",  "x",  "y",  "z",                            # 36
              
    "A",  "B",  "C",  "D",  "E",  "F",  "G",  "H",  "I",  "J",    # 46
              
    "K",  "L",  "M",  "N",  "O",  "P",  "Q",  "R",  "S",  "T",    # 56
              
    "U",  "V",  "W",  "X",  "Y",  "Z",                            # 62
              
    "`",  "-",  "=""\\",  ";",  "'",  ",",  ".",  "/",  "~",    # 72
              
    "!",  "@",  "#""\$",  "%",  "^",  "&",  "*",  "(",  ")",    # 82
              
    "_",  "+",  "|",  "{",  "}",  ":""\"",  "<",  ">",  "?",    # 92
            
    );

    while ( 
    $n <= $m ) {
      
    $k 0;
      
    $pass "";

      while ( 
    $k $x ) {
        
    srand;
        
    $b int(rand($y));
        
    $pass "$pass".$mass[$b];
        
    $k++;
      }

      print 
    "$n\t\t$pass\n";
      
    $n++;
    }
     
  6. D0zz

    D0zz Member

    Joined:
    6 Sep 2006
    Messages:
    24
    Likes Received:
    7
    Reputations:
    0
    есть утилита pwgen, делает всё то что тут написали только во много раз лучше :)
     
  7. Deem3n®

    Deem3n® RTFMSDN

    Joined:
    19 Sep 2005
    Messages:
    378
    Likes Received:
    153
    Reputations:
    164
    пользуюсь apg
     
  8. I0gen

    I0gen Elder - Старейшина

    Joined:
    15 Aug 2007
    Messages:
    76
    Likes Received:
    33
    Reputations:
    10
    вот от меня небольшой скрипт
    #!/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";
     
  9. EST a1ien

    EST a1ien Elder - Старейшина

    Joined:
    2 Apr 2006
    Messages:
    249
    Likes Received:
    48
    Reputations:
    16
    Думаю изза буквы O и цифры 0 и еше из-за l
     
    #9 EST a1ien, 15 Mar 2008
    Last edited: 15 Mar 2008
  10. ShadOS

    ShadOS ы

    Joined:
    11 Feb 2007
    Messages:
    667
    Likes Received:
    351
    Reputations:
    413
    А затем чтобы вы, уважаемые, пароли не путали когда у вас 1 = I а 0 = O и т.д.
     
Loading...