参考
[小ネタ] 作業用のパスワードっぽい文字列を CLI で手軽に作成する (openssl編) | DevelopersIO
というか、まんまこれ
たどり着いた先
文字に偏りが出るが。。。
openssl rand -base64 128 | fold -w 64 | head -1 | tr '1liI0OoQq/+=' '!2
64 文字より長くしたいなら
openssl rand -base64 300 | tr '\n' 'nr' | fold -w 256 | head -1 | tr '1liI0OoQq/+=' '!23456789'
こんな感じだろうか
解説
参考に全部丁寧に書いてある
が、備忘録てきに書いておく
# 12文字指定でつくる $ openssl rand -base64 12 m1+aDlQD1Vsn2Tm9 # が、 base64 であるため文字数が 4/3 倍になる # 17 になっているのはおそらく \n が入っている $ openssl rand -base64 12 | wc -c 17
base64 なので、64文字で自動的に改行が入るので、それ以上の文字列にしたい場合は置換する
tr '\n' 'nr'
任意の文字数で改行する
fold -w 文字数
1行だけあればいいので最初の1行目をとる
head -1
使いたくない文字を問題ない文字に置換する
曖昧な文字とか変えたら良いんじゃないかな
tr '1liI0OoQq/+=' '!23456789'
という感じでした