$hash = sha1(rand().microtime());
$hashをデータベースに保存するつもりです。
文字列を何度も入力するとSha1()
、同じハッシュが生成されます。しかしmicrotime()
、マイクロ秒で現在のUnixタイムスタンプを返す入力をした場合-将来のすべての呼び出しに対して異なるハッシュが保証されますか(現在の時刻が増加するため)。ここでは、将来の呼び出しを、前の呼び出しから少なくとも1分後にこの関数に対して行われた呼び出しと想定していますか?
あなたは何と言うでしょう?
このハッシュがデータベーステーブルにすでに存在するかどうかを確認するだけで一意性を確認できることはわかっていますが、上記のように使用したときに一意性を想定できるかどうかを知りたいだけです。