- ベストアンサー
PHPで15桁程度のユニークコード生成
md5() や sha1() などでランダムなコードは生成できますが、15桁程度でユニークなコードを 生成するとなった場合、どの様なものがあるでしょうか? 生成する度に以前生成したものに存在するか確認しなくても良い方法がありましたら 教えていただきたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
すでに回答がありますが・・・ 一般的には、substr(sha1(microtime()), 0, 15) 程度でじゅうぶん実用になります。まず重複することはありませんが、絶対ではありません。∴ ミッションクリティカルな場合にはDBなどで管理すべきです。
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.2
どんなものでもいいのであれば 日付+ミリ秒とすれば同時処理さえしなければユニークになりますね >存在するか確認しなくても良い方法 ないです。どうしてもというならデータベースで履歴管理することです
- muuming2001
- ベストアンサー率23% (202/847)
回答No.1
>>生成する度に以前生成したものに存在するか確認しなくてもユニークな md5() や sha1() でもユニークとは限りませんので、厳密にはないでしょう。
お礼
ありがとうございます。 教えていただいた処理で、アルファベットの場合のみ更に大文字/小文字をランダムに変換する処理を加えてみました。 こちらで十分実用的に使えそうです。