• ベストアンサー

PHPで15桁程度のユニークコード生成

md5() や sha1() などでランダムなコードは生成できますが、15桁程度でユニークなコードを 生成するとなった場合、どの様なものがあるでしょうか? 生成する度に以前生成したものに存在するか確認しなくても良い方法がありましたら 教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.3

すでに回答がありますが・・・ 一般的には、substr(sha1(microtime()), 0, 15) 程度でじゅうぶん実用になります。まず重複することはありませんが、絶対ではありません。∴ ミッションクリティカルな場合にはDBなどで管理すべきです。

takah75
質問者

お礼

ありがとうございます。 教えていただいた処理で、アルファベットの場合のみ更に大文字/小文字をランダムに変換する処理を加えてみました。 こちらで十分実用的に使えそうです。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

どんなものでもいいのであれば 日付+ミリ秒とすれば同時処理さえしなければユニークになりますね >存在するか確認しなくても良い方法 ないです。どうしてもというならデータベースで履歴管理することです

回答No.1

>>生成する度に以前生成したものに存在するか確認しなくてもユニークな md5() や sha1() でもユニークとは限りませんので、厳密にはないでしょう。

関連するQ&A

専門家に質問してみよう