現在、ほぼすべてのサービスで OTP (ワンタイムパスワード) が必須となっています。開発者はさまざまな方法で OTP を生成できますが、誰でも OTP を予測してサービスを活用できるため、この課題は予測的ではありません。
一般的な OTP 形式には、
4 桁または 6 桁の OTP があります。
4 または 6 文字 (小文字/大文字) OTP。
4 桁または 6 桁の英数字 OTP。
n 桁の OTP の例:
输入: n = 4 输出: 8723 输入: n = 8 输出: 23914072
注: プログラムの出力は、実行するたびに変化します。
OTP を生成する最良の方法の 1 つは、ランダム関数を使用することです。ただし、ランダム関数を直接使用するのは危険です。
したがって、以下に示す例は、ランダム関数といくつかのアルゴリズムを使用して n 桁の OTP を生成する方法です。
PHP プログラム コードの例は次のとおりです:
<?php //创建生成OTP的函数 function generateNumericOTP($n) { // 以生成器字符串为例,它由以下内容组成 //全部是数字 $generator = "1357902468"; //迭代n次,选择一个字符 //从生成器并将其附加到$result中 //登录从生成器生成随机字符 // 生成一个随机数 // 取与发电机长度相同的模量(如i) // 将字符从生成器追加到结果的(i)位置 $result = ""; for ($i = 1; $i <= $n; $i++) { $result .= substr($generator, (rand()%(strlen($generator))), 1); } // 返回结果 return $result; } $n = 6; print_r(generateNumericOTP($n)); ?>
ランダム出力:
561862
この記事は、PHP で OTP (ワンタイム パスワード) を生成する方法について説明します。必要としている人たちの助けになれば幸いです。友達が助けてくれます!
以上がPHPでOTPワンタイムパスワードを生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。