PHPでパスワード生成のプログラム書いてたら朝になってしまった…

1 : 2021/09/03(金) 08:37:23.088 ID:zyd7bwfX0
$base_char= array_merge( range( '!', '~' ) );

↑の文字配列から
random _int( 0, count( $base_char ) – 1 );

で暗号的に安全な疑似乱数でランダムに文字を選ぶを必要なパスワード桁数分ループして生成する様にしたけどこれで良いよね?

安全なパスワード作れていると思う?

2 : 2021/09/03(金) 08:40:40.372 ID:zyd7bwfX0
誰か分かる人いない?
3 : 2021/09/03(金) 08:41:52.301 ID:3qAyrUEYp
完全ランダムだと複雑性は担保されなくない?
6 : 2021/09/03(金) 08:44:44.257 ID:zyd7bwfX0
>>3
十個くらい生成してパット見で大文字小文字数字記号が含まれるかみて選ぶじゃ駄目かな?
13 : 2021/09/03(金) 08:48:20.338 ID:3qAyrUEYp
>>6
多数のユーザーがそれ使ってパスワード発行するとかでなければどうでもいい問題だな
自分用のパスワードメイカーとかなら細かい部分はどうでもいいや
あとほPHPくわしい人に任せた
4 : 2021/09/03(金) 08:42:32.927 ID:dg0rui/g0
(´・ω・`)いいんじゃない?どうでも
5 : 2021/09/03(金) 08:44:16.093 ID:9PXUMBoS0
よくわからんけどランダム文字列をさらに不可逆のなんかに変換すればいいんじゃない?
7 : 2021/09/03(金) 08:45:50.964 ID:0CnGLOTC0
疑似乱数も偏りはあるんだよな。
どこまで許容するかが焦点
8 : 2021/09/03(金) 08:47:33.418 ID:zyd7bwfX0
全部で93種の文字

数字が10/93
大文字英字26/93
小文字英字26/93
記号が31/93

くらいの比率で含まれているパスワードを十個クラ生成した中から選ぶ的な…

9 : 2021/09/03(金) 08:47:40.399 ID:gJhORIMkr
案件によって変わるからオワコン認定してるバカに付き合わなくて良いぞ
10 : 2021/09/03(金) 08:47:52.489 ID:Zc21koOur
コボルのおばちゃま
11 : 2021/09/03(金) 08:47:56.784 ID:egsjMegw0
暗号的に安全=ぱっと見複雑
12 : 2021/09/03(金) 08:48:04.116 ID:fQWQ2/sIr
Python
C#
14 : 2021/09/03(金) 08:48:27.039 ID:LWTpAWAWr
そのパスがgitに無いんだろ
15 : 2021/09/03(金) 08:48:38.510 ID:hgW0Fz4Xr
AI
16 : 2021/09/03(金) 08:48:50.976 ID:diFCmONar
JSもオワコンって言われそう
17 : 2021/09/03(金) 08:51:38.332 ID:kq7gEboz0
どこかのセキュリティソフトが疑似乱数使ってPW生成するソフト出して
その疑似乱数が日付時刻だけで生成されるものだから簡単に同じPW作れるとかで問題になったことがあった
28 : 2021/09/03(金) 08:58:02.244 ID:zyd7bwfX0
>>17
一応random _int関数は安全っぽい…
18 : 2021/09/03(金) 08:51:54.759 ID:yojTkdV8a
最も使われている類のパスワードが含まれている場合は弾かないと
偶然は必ず起こる
31 : 2021/09/03(金) 08:59:00.259 ID:zyd7bwfX0
>>18
確かに偶然passwordとか123456とか辞書にある単語になる確率はくそ低いがあるな…
19 : 2021/09/03(金) 08:52:04.948 ID:pQSashEbr
Pythonは?
20 : 2021/09/03(金) 08:52:17.534 ID:dwmtkReIr
Java覚えてSpringBoot使え
デザインはprimefacesで
22 : 2021/09/03(金) 08:52:29.493 ID:8Wdwt1oer
Rust
23 : 2021/09/03(金) 08:54:44.968 ID:zyd7bwfX0
今までは/dev/randomから必要なバイト数読んでbase64エンコードした物を使っていたけど見て手動で入力できる桁数だと強度弱いかなと思って…

12文字だと2の72乗くらいだけど良いのかな?

24 : 2021/09/03(金) 08:55:28.290 ID:P4OSI1W70
何が何だかよく分からないけど最後に素数で割る感じのやつ
25 : 2021/09/03(金) 08:55:34.841 ID:bE29D1qfr
Haskell
26 : 2021/09/03(金) 08:56:16.938 ID:0CnGLOTC0
正直なところ大文字・記号とか入っていようがいまいが
個人的には、桁数大きいほうが、セキュリティ的には担保できると思うんだよね。
ランダム生成となれば、総当たりしか突破出来なさそうだし
仕様さえ漏れなければ英数小文字だけで問題なさそう
33 : 2021/09/03(金) 09:04:38.147 ID:zyd7bwfX0
>>26
文字種増やせば桁数短くできるが入力が大変になるから確かに文字種を限定して桁数が多い方が入力楽かも…

0とOとかlとIとか間違いやすい文字は使うのやめてその代わりにキーボードで打ちやすい記号で文字種を補填してやったら良いかもしれない

41 : 2021/09/03(金) 09:19:58.056 ID:vZayGLTb0
>>33
入力手打ちとかマジ?
29 : 2021/09/03(金) 08:58:13.130 ID:9bUkfpzEr
結局手動でやるならChromeとかキーチェーンツールで作ればいいじゃん
30 : 2021/09/03(金) 08:58:17.805 ID:nm7kNEUMr
それは旦那に言え
32 : 2021/09/03(金) 09:04:09.138 ID:8u732Utw0
どうせなら同じ文字や連続した文字は出力の段階で避けるようなものがいいな
出来れば単語も
34 : 2021/09/03(金) 09:06:00.545 ID:zyd7bwfX0
>>32
連続した文字を避けたら強度下がらない?
38 : 2021/09/03(金) 09:14:37.226 ID:8u732Utw0
>>34
わかんないけど元のサイトなりがお前に合わせて組み合わせ減らすわけじゃないなら変わらなくね?
しょせん組み合わせの中の一つなんだし
36 : 2021/09/03(金) 09:08:20.599 ID:YqVRjHqNr
ググり方
37 : 2021/09/03(金) 09:08:32.585 ID:f7tPxWZJr
日本経済
39 : 2021/09/03(金) 09:17:08.564 ID:zyd7bwfX0
大文字小文字と数字の組み合わせ12桁で平均探査2000年以上とある

↑が62の12乗パターンだから

そこから0やO Iやlとか見間違え安い文字をやめて減らした分を打ちやすい記号を足して補って念の為桁数を1つか2つ増やす改良を加えようと思うがどう思う?

40 : 2021/09/03(金) 09:17:18.469 ID:4zK6G7cxr
COBOL
42 : 2021/09/03(金) 09:19:58.524 ID:8u732Utw0
せっかくだし桁数も指定できるようにしようぜ
場所によっては8が上限とか32が上限とかあるし
43 : 2021/09/03(金) 09:20:35.885 ID:zyd7bwfX0
読み間違いやすい文字を減らして生成したパスワード中にその代わりに足した記号が含まれてなく、
かつ攻撃者にその仕様が知られていると強度が落ちるか…
44 : 2021/09/03(金) 09:20:45.540 ID:1W0ShDEEr
VB

コメント

タイトルとURLをコピーしました