🐰
Rails ランダムな n 桁の数値からなる認証コードを生成する
よくあるメールや SMS で認証コードを送信する処理を作成しています。
指定した桁数からランダムに生成された数値からなる認証コードを生成する部分について備忘録としてまとめます。
結論
- SecureRandom.random_number をつかいます
SecureRandom.random_number をつかいます
SecureRandom.random_number の引数に、任意の桁数の数値を指定して、数値を生成します。桁数に満たない場合は、0埋めします。
n = 6 # 指定桁数
verification_code = SecureRandom.random_number(10 ** n).to_s.rjust(n, '0')
random_number の引数に1以上の整数 n を与えれば、0以上 n 未満の数値を返してくれるので、10 の n 乗
を引数に与えればよいです。
参考
Discussion