2
0

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.

/dev/urandomを使ってパスワードを「作りためる」

Last updated at Posted at 2020-04-21

毎回作らなくていいんでは?

手元に /dev/urandom がない Windows は言うに及ばずですが、Mac でターミナルを使い慣れていても、わざわざ開いてシェルのお世話になるのも面倒だと(私は)思っちゃうんですよね。

なので作りためましょう。

それなりのサイズのファイルを /dev/urandom で作ります。1024バイトもあれば十分かなーと思います1

cat /dev/urandom | LANG=C tr -c -d '[:alnum:]' | head -c 1024 > password_pool.txt

最後で fold に渡すと、指定したサイズで改行できます。

cat /dev/urandom | LANG=C tr -c -d '[:alnum:]' | head -c 1080 | fold -w 72 > password_pool.txt

これをローカルマシンの適当な場所に保存します。あとは必要なときにローカルPCのテキストエディタで開いて、適当な部分からコピペするだけです。

(おさらい) パスワードの作り方

他の記事に書かれているのを含めて、パスワードの作り方のバリエーションをいくつかまとめました。

base64 を使う

よく見かける方法ですね。

cat /dev/urandom | base64 | fold -w 10 | head -n 1

Base64 なので /+ が入ってしまいます。
何回か試すと英数だけのものが出るでしょうしそんなに問題ないかもしれませんが、tr で削ってもよさそうです。

cat /dev/urandom | base64 | tr -d '/+' | fold -w 10 | head -n 1

余談ですが、これは単純化できます2

base64 /dev/urandom | tr -d '/+' | fold -w 10 | head -n 1

入力ファイルを指定できるのに、なぜ人は /dev/urandomcat する呪縛から離れられないのか?(哲学)

tr を使う

tr使いたくないものを削る 方法です。

……なお tr は標準入力を対象にするので cat して pipe しないといけないです……これが呪縛の原因か……。

英数のみの場合

base64 と同じように、英文字と数字だけ出します。

cat /dev/urandom | tr -c -d '[:alnum:]' | head -c 10

うまく行かないときは locale の問題かもしれません3。そのときは以下のように trLC_ALL=C を加えてみてください。

cat /dev/urandom | LC_ALL=C tr -c -d '[:alnum:]' | head -c 10

英数記号

パスワードの制限で記号を含めないといけない、という場合には使えるかも?4

cat /dev/urandom | tr -c -d '[:graph:]' | head -c 10

その他

[:xxxx:] は他にもあるので、興味のあるひとは man を見てみてください。[:punct:] とかオススメです。試してみて下さい。実用性はまったくないですが!

  1. 根拠はないです

  2. さらに単純化して base64 /dev/urandom | tr -d '/+' | head -c 10 にできます(ただ最後に改行が付きません)

  3. ターミナルで日本語表示させているときに遭遇する可能性が高いと思います

  4. 使える記号が限られていることも多いので、これより英数のみのものを使って、記号を付け足した方がいいかもなーと思ってます

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?