この関数を使用して一意の API キーを生成し、データベースに格納しています。
strtoupper( md5( uniqid(rand(), TRUE ) ) );
上記の関数で同じハッシュキーを生成する可能性はありますか???
この関数を使用して一意の API キーを生成し、データベースに格納しています。
strtoupper( md5( uniqid(rand(), TRUE ) ) );
上記の関数で同じハッシュキーを生成する可能性はありますか???
uniqid はミリ秒単位の時間に基づいており、それをランダムなプレフィックスと組み合わせると、ほとんどありません。
uniqid の詳細については、以下を参照してください: PHP: uniqid - Manual
uniqueid 関数によって生成される一意の値は非常に一意ですが、MD5 ハッシュ アルゴリズムを使用すると、かなりの確率で衝突が発生します (つまり、異なる値が同じハッシュ値になります)。実際、MD5 はUS-CERTによって「暗号的に壊れており、今後の使用には適さない」と見なされており、衝突が心配な場合は、代わりに SHA256/SHA512 アルゴリズムの使用を検討する必要があります。