[PHP-users 32] ユニークなIDを発行する方法

Go Tamura php-users@php.gr.jp
Wed, 13 Jun 2001 09:25:10 +0900


 こんにちは。

 個人の認証をひつようとするサイトを作っているのですが、IDを発行する際
にどの方法を使うのがいいかなぁと考えています。
が、それぞれに問題点がありそうです。

1.DB(postgresql)のシーケンスを使って連番を与える。
 これは安全っぽいのですが、メンバーの数が分かってしまうというか、増分を
変えてもいいですが、何かそのあたりが気になる。

2.phpで乱数を発生させて、それがユニークかどうかをチェックする。
ユニークでなければ、発生させ直す。これの繰り返し。
 どんどん埋まって来たときに、ループがどの程度になるのか。
数字の5桁が埋まることはまず無いと考えてますが、安全という意味では!?

3.phpのuniqid()をつかう。どうも、この文字列って扱いにくいのですが、
uniqid()って13桁以下にしたり、数字だけを発生させたりが出来ない?

想定しているのは a12345 の様な、属性+数字5桁(程度)のIDを発行したいと
思っています。

みなさんはどういう方法を採られているのでしょうか?

#最近、IDを使わずにメールアドレス+パスワードで認証しているところも結構
多いようですね。これも一考の余地があるかなぁ。

-- 
Go Tamura <t-go@geocities.co.jp>