3
0

More than 1 year has passed since last update.

Laravelでランダムなパスワードを生成したい

Last updated at Posted at 2022-08-21

はじめに

Laravelでユーザー登録の際にランダムな初期パスワードをデータベースに保存し、その初期パスワードをユーザーにメールで通知するという場合があるかと思います。

その際に、ランダムなパスワードを生成する際にどうすればいいかを調べると、Str::randomメソッドが出てきたため、それを使えばいいかと思いました。
パスワードの条件としては、アルファベットの大文字と小文字と数字を少なくとも1文字は含み、8文字というものです。

Str::randomメソッドでコードを書いて、プルリクを出すと、上記のパスワードの条件を満たさないととことだったので、本当にそうか?と思い調べました。

Str::randomメソッドとは

Str::randomメソッドは指定した長さのランダムな文字列を生成します。このメソッドは、PHPのrandom_bytes関数を使用します。

参考

生成されるランダム文字列には
大文字
小文字

が含まれています。

参考

検証

Str::randomメソッドを用いて、何度かランダムなパスワードを生成したみる。
3文字のランダムなパスワードを生成し、生成したパスワード全てに大文字・小文字・数が1文字ずつ含まれているかどうか。

結果

1回目から、5PH ...
初回からダメでした。
文字数が大きくなると、問題ないかもしれないですが、確実に大丈夫というわけではないので使わない方がいいですね。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0