ランダムな文字列の生成

パスワードジェネレータ - みずぴー日記 にインスパイアされてパスワードとして用いることができるランダムな文字列の生成を行ってみます。

#! /usr/local/bin/nawk -f
# gen_pwd.awk
# パスワード生成
# usage: nawk -f gen_pwd.awk

BEGIN {
    srand();

    for (i = 1; i <= 10; i++) {
        print random_char(13);
    }
}

# random_char():    ランダムな文字列の生成
#   in:     文字列の長さ (num)
#   out:    ランダムな文字列 (str)
function random_char(num,    i, str) {
    for (i = 1; i <= num; i++) {
        str = str sprintf("%c", int(rand() * 94) + 33);
    }

    return str;
}

awk でも比較的簡単に記述することができます。 実行してみます。

$ nawk -f gen_pwd.awk
Jsk3qVUwW^\Og
/"^.R^B\-*+6`
Yi?=3i1}{$UQ{
-0X[wf]Vt168l
BAvX"PBAmU+}T
("*X|6hVqa>P9
3`NKMpkDImtk/
bA:atAb~y`5b8
(EUW]h8,4e|!*
Fm~2|aS8CIX'H

実際に使えるかというと使えそうにない文字列ばかりが生成されてしまいました。

tag_nawk.png tag_nawk.png tag_nawk.png tag_nawk.png