2

トークン番号ジェネレーターを構築したいと考えています。各呼び出しで、ランダムで一意の 8 桁の番号が返される必要があります。PHPとMySQLを使用しています。MySQL には、生成されるたびに新しいシリアルを挿入するテーブルがあります。

各通話で新しい番号を生成するにはどうすればよいですか?

トークンは、エンドユーザーがソフトウェアをアクティブ化するために使用されます (たとえば、1 週間後に期限切れになります)。したがって、トークンは一意であり、連続していない必要があります。これは私のニーズをよりよく説明しています。トークンの形式は数字だけなので、簡単にスペルやタイプを入力できます。

トークンの有効期限が切れたとしても、後で生成済みのトークンを生成したくありません。

ありがとうございました

4

2 に答える 2

3

このコードはシリアル番号をデータベースに入れませんが、8 桁のシリアル番号を返します。数字だけが必要な場合は、許可された文字変数を数字だけに変更します。

<?php

    function generate_serial_number() {

       $Allowed_Charaters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
       return substr(str_shuffle($Allowed_Charaters), 0, 8);

    }

?>
于 2013-01-15T00:59:41.120 に答える
0

私は通常、more_entropyパラメータを true にしてhttp://php.net/manual/en/function.uniqid.phpを使用します。

于 2013-01-15T10:21:52.670 に答える