ホームページ > バックエンド開発 > PHPチュートリアル > ローカルの一意の識別コードを生成する PHP コード LUID_PHP チュートリアル

ローカルの一意の識別コードを生成する PHP コード LUID_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:15:48
オリジナル
983 人が閲覧しました

UUID (Universally Unique Identifier) と GUID は、分散コンピューティング環境で必要となる、空間と時間の範囲全体にわたって一意の識別コードを生成することを目的としていますが、制限されたローカル環境でのみ一意の識別コードを生成したい場合に使用します。 , 「ローカル固有の識別コード」、UUIDを使うのはやりすぎです、この「ローカル固有の識別コード」、私はLUID(Local Unique Identifier)と呼んでいます

例えばphpを使ってWebサイトのプログラムを開発する場合、ユーザーが同時に同じ Web ページを開くとセッション名の競合が発生するのを避けるため、保存されたセッションが $_SESSION['param'] ではなく、$_SESSION[$luid]['param'] であることを望みます。次に、「param」パラメータが上書きされないように他のメソッドを介して $luid 値を渡します。他の人の解決策を検索したところ、それらはすべて UUID を生成することがわかり、UUID を生成するためのアルゴリズムは数百行あると考えられました。それは SESSION 空間内にあり、制限された環境であり、唯一のものです。同じ SESSION の存続期間内で一意である限り、セックスの強度が高すぎる必要はありません。そのため、次のコードが利用可能です:

コードをコピーします コードは次のとおりです:

/**
* ローカル システム内で一意の文字列を返します。
* '7dac352074f221f3edc74d265c65a636' または 'd198d8fc56ffed627f3f8313d6f06acf' の形式で 32 文字の文字列を返します。 */
function LUID(){
return MD5(microtime())}


実際には、これは次のとおりです。 return MD5(microtime());

論理的には、microtime() によって返される文字列はすでに一意です。 はい、テストしたところ、microtime() が連続して実行された場合でも、戻り値に違いがあることがわかりました。ユーザーのクリック、ネットワーク上での送信、サーバーによる処理の間の間隔は数十ミリ秒をはるかに超えています。md5 を追加すると、結果は混乱を招くだけです。

http://www.bkjia.com/PHPjc/326068.html

tru​​ehttp://www.bkjia.com/PHPjc/326068.html技術記事 UUID (Universally Unique Identifier) と GUID は、分散コンピューティング環境で必要となる、空間と時間の範囲全体にわたって一意の識別コードを生成することを望んでいます。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート