コードをコピーします
コードは次のとおりです:
$newhash = create_unique();
$newhash をエコーする
?>
正確にはこの目的を意図したものではないにもかかわらず、多くの人が md5() 関数を使用しているのを見かけます。
コードをコピーします
コードは次のとおりです:// 一意の文字列を生成します
echo md5(time() . mt_rand(1,1000000));
実際には、これに使用することを目的とした uniqid() という名前の PHP 関数があります。
//一意の文字列を生成します
エコーuniqid();
/* プリント
4bd67c947233e
*/
// 別の一意の文字列を生成します
エコーuniqid();
/* プリント
4bd67c9472340
*/
文字列は一意ですが、最初の数文字は似ていることに気づくかもしれません。これは、結果として得られる文字列がサーバー時間に相対しているためです。
しかし実際には、新しく生成された各 ID がアルファベット順に並べられるため、並べ替えが非常に簡単になるため、フレンドリーな側面もあります。
重複の可能性を減らすために、プレフィックスを渡すか、2 番目のパラメータを渡して増やすことができます:
コードをコピーします
コードは次のとおりです:// プレフィックス付き
echo uniqid('foo_');
/* プリント
foo_4bd67d6cd8b8f
*/
// より多くのエントロピーを使用して
echo uniqid('',true);
/* プリント
4bd67d6cd8b926.12135106
*/
// 両方
echo uniqid('bar_',true);
/* プリント
bar_4bd67da367b650.43684647
*/
この関数は md5() よりも短い文字列を生成し、スペースを節約します。
phpでグローバル一意識別子(GUID)を生成する方法
GUID は空間と時間において一意であり、同時に異なる場所で生成された異なる数値が異なることを保証します。
世界中の 2 台のコンピューターが重複した GUID 値を生成することはありません。
GUID が必要な場合、アルゴリズムによって完全に自動的に生成できるため、権限のある組織による管理は必要ありません。
GUID は固定長で比較的短いため、並べ替え、識別、および保管に最適です。
コードをコピーします
コードは次のとおりです:
//php が GUID を生成します
関数 getGuid() {
$charid = strtoupper(md5(uniqid(mt_rand(), true)));
$hyphen = chr(45);// "-"
$uuid = substr($charid, 0, 8).$hyphen
.substr($charid, 8, 4).$ハイフン
.substr($charid,12, 4).$ハイフン
.substr($charid,16, 4).$ハイフン
.substr($charid,20,12);
$uuid を返す
}
?>
この記事が皆さんの PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/915426.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/915426.html技術記事 PHP で一意の識別子を生成する方法 PHP で一意の識別子を生成する方法 この記事では、PHP で一意の識別子を生成する方法について説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです: 健康...