Einführung in vier Methoden zum Generieren eindeutiger IDs in PHP

王林
Freigeben: 2023-03-09 12:52:01
nach vorne
19650 Leute haben es durchsucht

Einführung in vier Methoden zum Generieren eindeutiger IDs in PHP

Es gibt viele Szenarien, in denen bei der Arbeit eindeutige IDs verwendet werden, z. B. temporäre Cache-Dateien, temporäre Variablen, temporäre Sicherheitscodes usw. Die Funktion

uniqid() generiert eine eindeutige ID basierend auf der aktuellen Zeit in Mikrosekunden. Da die Generierung einer eindeutigen ID an eine Mikrosekunde gebunden ist, ist die Eindeutigkeit der generierten ID sehr zuverlässig.

Die generierte eindeutige ID gibt standardmäßig eine Zeichenfolge mit einer Länge von 13 Zeichen zurück. In Kombination mit der Funktion MD5() ist die generierte eindeutige ID zuverlässiger Sortierung implementiert, insbesondere einige Werte, die in der Datenbank gespeichert werden müssen. Natürlich können hier auch Zufallszahlen hinzugefügt werden.

Im Folgenden werden hauptsächlich 4 Methoden zum Generieren eindeutiger IDs vorgestellt:

1 Funktion uniqid()

uniqid()-Funktion generiert eine eindeutige ID basierend auf der aktuellen Zeit in Mikrosekunden.

  echo uniqid();
  echo uniqid();
  echo uniqid();
 OUTPUT:
    5a4b62dd4aeea
    5a4b62dd4aff7
    5a4b62dd4b069
Nach dem Login kopieren

Im w3school-Referenzhandbuch gibt es einen Satz: „Da sie auf der Systemzeit basiert, ist die von dieser Funktion generierte ID nicht optimal. Um eine absolut eindeutige ID zu generieren, verwenden Sie bitte die Funktion md5().“

(Kostenloses Video-Tutorial:

php-Video-Tutorial)

3. Kombinieren Sie die md5()-Funktion, um eine eindeutige ID zu generieren

     echo md5(uniqid());
OUTPUT:
    0ac3d6e99b7f5290c93d730eaf9d7d94
Nach dem Login kopieren
4. Behandeln Sie es manuell, der offizielle Fall
public function create_guid($namespace = '') { 
      static $guid = '';
      $uid = uniqid("", true);
      $data = $namespace;
      $data .= $_SERVER['REQUEST_TIME'];
      $data .= $_SERVER['HTTP_USER_AGENT'];
      $data .= $_SERVER['LOCAL_ADDR'];
      $data .= $_SERVER['LOCAL_PORT'];
      $data .= $_SERVER['REMOTE_ADDR'];
      $data .= $_SERVER['REMOTE_PORT'];
      $hash = strtoupper(hash('ripemd128', $uid . $guid . md5($data)));
      $guid = '{' .
          substr($hash, 0, 8) .
          '-' .
          substr($hash, 8, 4) .
          '-' .
          substr($hash, 12, 4) .
          '-' .
          substr($hash, 16, 4) .
          '-' .
          substr($hash, 20, 12) .
          '}';
      return $guid;
     }
Nach dem Login kopieren
liefert ähnliche Ergebnisse: E2DFFFB3-571E -6CFC-4B5C-9FEDAAF2EFD7

Verwandte Empfehlungen:

php-Tutorial

Das obige ist der detaillierte Inhalt vonEinführung in vier Methoden zum Generieren eindeutiger IDs in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage