- blogs:
- cles::blog
« IPAの作ったNDAひな形 :: 炭やき 赤坂 雷や »
2009/03/24

Rubyでmkpasswdを書いてみる
パスワード用にoO0のような紛らわしい特定の文字が入っていないようなランダムな文字列がたくさん必要になったので、そんな要求を満たすべく簡単なスクリプトを書いてみました。
mkpasswd.rb
#!/usr/bin/env ruby
require 'optparse'
def mkpasswd(n)
#chars = ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_*;:@{}()[]#$%&=-").split(//)
chars = ('abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ123456789_*;:@{}()[]#$%&=-').split(//)
chars.sort_by{rand}
chars_size = chars.size
password = Array.new(n){
chars[rand(chars_size)]
}.join
return password
end
params = {}
option_parser = OptionParser.new {|opt|
opt.on('-l LENGTH'){|val| params[:len] = val.to_i}
opt.parse!(ARGV)
}
params[:len] = 8 if !params[:len] || params[:len] == 0
puts mkpasswd(params[:len])
chars.sort_by{rand}の部分はなくても結果はあまり変わらないと思うのですが、生成された文字列がちょっと偏っているような気がしたので気休めです。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2976
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
« IPAの作ったNDAひな形 :: 炭やき 赤坂 雷や »
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(114424)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112946)
3 . 年次の人間ドックへ(112372)
4 . 2023 年分の確定申告完了!(1つめ)(111941)
5 . 三菱鉛筆がラミーを買収(111815)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112946)
3 . 年次の人間ドックへ(112372)
4 . 2023 年分の確定申告完了!(1つめ)(111941)
5 . 三菱鉛筆がラミーを買収(111815)
cles::blogについて
Referrers