Macでコマンドでパスワードを生成する方法
目次
tr: Illegal byte sequence
がでないようにする。今日学んだこと。
コマンドラインでランダムなパスワードを生成する。
1Passwordなどを利用せずとも、ランダムなパスワードをサクッと生成したい時のコマンド。
/dev/random
と/dev/urandom
のどちらを利用しても良さそう。/dev/random
と/dev/urandom
の違いは調べたけれども正直よくわからなかった。 (また後日確認する)
|
|
コマンド解説
cat /dev/urandom
コマンド
cat /dev/random でも可能
実行するとターミナルが埋まる。乱数を表示する
tr
コマンド
文字を置き換えるためのコマンド。
tr -dc A
の意味
- Aに含まれない文字列を削除する。
- すなわち
tr -dc 'a-zA-Z0-9!@#$%^&*()_+-=[]{}<>?'
の時はa-zA-Z0-9!@#$%^&*()_+-=[]{}<>?
以外の文字列を削除する。
- すなわち
[:alnum:]
– 英字(大文字小文字)のみ[:graph:]
– 表示可能な文字のみ
その他のオプションは以下
man tr より抜粋
[:class:] Represents all characters belonging to the defined character class. Class names are:
alnum <alphanumeric characters>
alpha <alphabetic characters>
blank <whitespace characters>
cntrl <control characters>
digit <numeric characters>
graph <graphic characters>
ideogram <ideographic characters>
lower <lower-case alphabetic characters>
phonogram <phonographic characters>
print <printable characters>
punct <punctuation characters>
rune <valid characters>
space <space characters>
special <special characters>
upper <upper-case characters>
xdigit <hexadecimal characters>
fold -w 16
の意味
16桁で折り返す(改行)
head -n 1
の意味
1行目のみを出力する。
まとめると
cat /dev/urandom |LC_CTYPE=C tr -dc '[:alnum:]' | fold -w 16 |head -n 1
乱数を表示して、英数字以外を削除して、16桁で折り返して、1行目のみ出力する。
参考 https://pasela.hatenablog.com/entry/20120710/random https://hacknote.jp/archives/24837/ https://ja.wikipedia.org/wiki//dev/random http://itdoc.hitachi.co.jp/manuals/3021/30213B3220/0394.HTM