7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

初期パスワードを大量に生成する方法

Last updated at Posted at 2015-08-29

8文字のパスワードを100個生成する場合は以下のコマンドになる。

cat /dev/urandom |tr -dc[:alnum:]|head -c 800|fold -w 8

※ linuxを想定しています。BSD系ではコマンドの挙動が違うかもしれません。
※ 左のコマンドから順にパイプでつなげていって出力を見れば、下の解説いらないかも。

解説

乱数生成

cat /dev/urandom

英数字以外を削除

tr -dc [:alnum:]
  • [:alnum:]は英数字[0-9A-Za-z]を意味する正規表現
  • -d は削除
  • -cを入れるとスペースのあとで表現したものの補集合がtrコマンドの対象となる。ゆえに、-c [:alnum:] で英数字以外のものがtrコマンドの対象となる。
  • -dc [:alnum:]で「英数字以外の文字列を削除」という意味。

最初の800文字を抽出

head -c 800
  • head -c n で最初のn文字を表示
  • 8文字×100で800とした。

8文字づつ改行

fold -w 8
  • fold -w n でn文字ずつ改行
  • 10文字のパスワードにしたい場合は fold -w 10
7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?