回答編集履歴
2
機能を追加しました。シャッフルするようにしました。
answer
CHANGED
@@ -17,9 +17,14 @@
|
|
17
17
|
p pass
|
18
18
|
p addw
|
19
19
|
p pw
|
20
|
+
#最後が必ず数字になる為シャッフルする
|
21
|
+
pw = pw.scan(/./).shuffle.join
|
22
|
+
p pw
|
20
23
|
|
24
|
+
|
21
25
|
```
|
22
26
|
実行結果
|
23
|
-
"
|
27
|
+
"8c4xnagoqc6mqzsk01e2y6jbrho0lp"
|
24
|
-
"
|
28
|
+
"u3"
|
25
|
-
"
|
29
|
+
"8c4xnagoqc6mqzsk01e2y6jbrho0lpu3"
|
30
|
+
"lbz46uch8ro06g3oykqpe2nq1cs0jmxa"
|
1
アルゴリズムの間違いを修正しました。桁数の変更に耐えられるようにしました。
answer
CHANGED
@@ -3,12 +3,15 @@
|
|
3
3
|
残りの2桁にランダムなアルファベット1文字と数字1文字を付け加えます。
|
4
4
|
最悪でも1文字はアルファベットと数字が入ります。
|
5
5
|
もっと数字もしくはアルファベットの桁数を増やしたい場合は、適当に桁数を調整してください。
|
6
|
+
アルファベット2文字、数字3文字にしたいなら
|
7
|
+
addw = [*'a'..'z'].sample(2).join + [*'0'..'9'].sample(3).join
|
8
|
+
のようにします。SecureRandom.alphanumericの桁数はその分小さくしてください。
|
6
9
|
```ruby
|
7
10
|
require 'securerandom'
|
8
11
|
#小文字のパスワード
|
9
12
|
pass = SecureRandom.alphanumeric(30).downcase
|
10
13
|
#念のためランダムなアルファベット1文字と数字1文字を付加する
|
11
|
-
addw = [*'a'..'z'].sample(1)
|
14
|
+
addw = [*'a'..'z'].sample(1).join + [*'0'..'9'].sample(1).join
|
12
15
|
pw = pass + addw
|
13
16
|
|
14
17
|
p pass
|