Help us understand the problem. What is going on with this article?

複数単語からなるパスワードを生成するワンライナー

複数の英単語を組み合わせたパスワードは覚えやすく強固らしいです( https://xkcd.com/936/ )。

ところで、macOSなどには /usr/share/dict/words という単語一覧の辞書ファイルがあります。パスワードとして辞書に乗っているような単語を設定できないようにするなどの用途で使われるようです。

今回はその「パスワード使用禁止単語」のファイルを使って複数単語のパスワードを生成するワンライナーを考えてみました。

# bash版
echo $(shuf --random-source=/dev/random -n 4 /usr/share/dict/words) | sed -e 's/ /-/g' | tr '[A-Z]' '[a-z]'
# fish版
echo (shuf --random-source=/dev/random -n 4 /usr/share/dict/words) | sed -e "s/ /-/g" | tr "[A-Z]" "[a-z]"

※ 事前に coreutils をインストールして shuf コマンドを使えるようにしておきます。

$ brew install coreutils

alias化

Fish版

echo 'alias pg=\'echo (shuf --random-source=/dev/random -n 4 /usr/share/dict/words) | sed -e "s/ /-/g" | tr "[A-Z]" "[a-z]"\'' >> ~/.config/fish/config.fish

実行例

下記のように4つの単語からなるパスワードが生成されます。

$ pg
aureocasidium-vermis-sellenders-isognathous
$ pg
gutterblood-preallegation-razormaking-unlucky
$ pg
perfectioner-unaggression-scientician-predissolve

その他

  • shuf コマンドで辞書ファイルから4単語抜き出す際に /dev/random を指定してよりランダムにしています。
  • sedtr でハイフン区切り&小文字にしています。
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away