Laravel ランダムな文字列の生成


目的

  • Laravelで桁数を指定したランダムな文字列の生成方法をまとめる

  • 下記のようにヘルパ関数を用いてランダムな文字列を生成する。

    Str::random(生成桁数);
    
  • 本処理はPHPのrandom_bytes関数を使用してランダムな文字列を生成している。

  • 余談であるがPHPのrandom_bytes関数が使用する不規則性のソースはOSやプラットフォームによって異なっているらしい。どれも使えないとき(例外時)は基底クラスを投げるらしい。

    • Windows: CNG-API
    • Linux: getrandom(2)
    • その他: /dev/urandom # 具体例
  • 30桁のランダムな文字列を生成し$strに格納する処理を下記に記載する。

    $str = Str::random(30);
    

参考文献