ホームページ  >  記事  >  バックエンド開発  >  同時実行性が高い場合の PHP での uniqid の重複の問題

同時実行性が高い場合の PHP での uniqid の重複の問題

WBOY
WBOYオリジナル
2016-06-23 13:52:471152ブラウズ

最近のプロジェクトでは、トークン検証の生成に問題がありました。まず、PHP で uniqid() 関数を使用してランダムな文字列を生成することを検討しますが、この関数はマイクロ秒の時間レベルに基づいているようです。同時実行性が高い場合には、同じ値を生成することが可能です。

解決策 1: uniqid(rand(1,10000))、この関数の最初のパラメーターは、生成される数値のプレフィックスとして使用できるため、生成される数値の繰り返し率が大幅に減少します。しかし、重複の可能性は依然として存在します

解決策 2: md5(uniqid())、md5() 関数を使用すると、完全に一意の値を生成できます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。