2016-09-07 6 views
0

ruby​​を使用して特殊な文字を含むランダムなパスワードを生成しようとしています。私はそのようなパスワードを生成するための標準があるかどうかを知りたいと思います。私は、重み付けされた確率分布を使用し、特殊文字を選ぶ確率が高くなるように重みを割り当てることを検討しましたが、これが広く受け入れられている標準であるかどうかはわかりません。ランダムな文字で安全なパスワードを生成

+0

あなたの研究はあなたに何を伝えましたか?現在、あなたの質問はソリューションやページをお勧めしています。リンクされたページを含む「[ask]」をお読みください。 –

答えて

4

あなたがたSecureRandom(docs)を使用することができます。

require 'securerandom' 

password = SecureRandom.base64(15) 
# => "vkVuWvPUWSMcZf9nn/dO" 
3

Rubyは、まさにこのようなモジュールSecureRandomが付属しています。あなたは、ランダムな文字列を生成できます。

require "securerandom" 

SecureRandom.hex 1 # => "e1" 
SecureRandom.hex 2 # => "dcdd" 
SecureRandom.hex 3 # => "93edc6" 
SecureRandom.hex 5 # => "01bf5657ce" 
SecureRandom.hex 8 # => "3cc72f70146ea286" 

SecureRandom.base64 2 # => "d5M=" 
SecureRandom.base64 3 # => "EJ1K" 
SecureRandom.base64 5 # => "pEeGO68=" 
SecureRandom.base64 8 # => "muRa+tO0RqU=" 
SecureRandom.base64 13 # => "1f8y7xsvaCEw0hwkjg==" 

一部の人々はare recommendingSysRandomと呼ばれる上記の暗号化された安全なバージョンが用意されました。あなたはまた、random and pronounceable passwordsを生成することができますsimple-password-gen宝石付き

require "simple-password-gen" 

Password.random 8 # => "#TFJ)Vtz3" 
Password.pronounceable 13 # => "vingastusystaqu" 

最後に、ちょうど楽しみのためには、(私はSysRandomをお勧めします)、私はしばらく前generate random strings based on template stringsに小さな宝石を書きました。特別な文字は含まれていませんが、それは簡単な追加になります。興味があれば、問題を提出してください。

関連する問題