固有のコード ランダム コード
より具体的な要件は次のとおりですつまり、自己増加するIDは1から99999です
00001から99999の5桁に合わせて先頭の0を埋めます
000011から999999に(もちろん指定します)一の桁を追加します
そしてBase64エンコーディング
echo base64_encode('000011'), PHP_EOL;echo base64_encode('999999'), PHP_EOL;/*MDAwMDExOTk5OTk5*/を実行します 必要に応じて、結果に対して「シーザー暗号化」(辞書シフト)を実行します
しかし、最初に保存し、ID 番号を取得してから更新する必要がありますか?データベースに書き込む前にデータベースを確認するか、コードを取得するか、挿入時に要件を満たすコードを挿入できますか?
変形した自己増加 ID なので、保存する必要はありませんデータベースですよね?
自己増加 ID をシードとして使用するのは良い選択です。これは 100,000 の範囲内で一意であり、8 桁をインターセプトした後の現在のタイムスタンプはそうではないからです
しかし、ID を取得するには最初にそれをデポジットする必要がありますか?データベースに書き込む前にデータベースを確認したり、コードを取得したりできますか? 挿入時に現在の時刻を 16 進数 (8 桁) に変換できますか?一意性を確保するために暗号化します。データベースをチェックする必要はありません。
時間を使うのも一つの方法ですが、時間だけでは十分ではありません。
これはおそらく機能します
echobase_convert(str_replace('.', '', $_SERVER['REQUEST_TIME_FLOAT']), 10, 36); ただし、ミリ秒単位の精度なので、高性能サーバーでは依然として問題になる可能性があります。
define('ONLY','FDSAR2432FDS');
echobase64_encode(ONLY.'000011'), PHP_EOL;