Heim > Backend-Entwicklung > PHP-Tutorial > Wie erstelle ich eindeutige Zeichenfolgen in PHP?

Wie erstelle ich eindeutige Zeichenfolgen in PHP?

WBOY
Freigeben: 2016-09-25 09:37:03
Original
1115 Leute haben es durchsucht

Wie verwende ich PHP, um eindeutige Zeichenfolgen zu generieren?
Genau wie die Zeichenfolge, die am Ende von YouTube angezeigt wird: 6Af6b_wyiwI (akzeptable Zeichen in der URL)
Und wird die Groß-/Kleinschreibung beachtet?
und Sie können die Länge der Zeichenfolge festlegen, die jedes Mal angezeigt wird
Beispielsweise wird 4~7 zufällig
zu ga79e aa09gsw awe9f und so weiter (es ändert sich jedes Mal so

).

Antwortinhalt:

Wie verwende ich PHP, um eindeutige Zeichenfolgen zu generieren?
Genau wie die Zeichenfolge, die am Ende von YouTube angezeigt wird: 6Af6b_wyiwI (akzeptable Zeichen in der URL)
Und wird die Groß-/Kleinschreibung beachtet?
und Sie können die Länge der Zeichenfolge festlegen, die jedes Mal angezeigt wird
Beispielsweise wird 4~7 zufällig
zu ga79e aa09gsw awe9f und so weiter (es ändert sich jedes Mal so

).

Es wird empfohlen, einen Zeitstempel zu verwenden, der mit MD5 oder sha1 verschlüsselt werden kann, aber die Länge ist fest und die Groß-/Kleinschreibung ist festgelegt. Er kann abgefangen werden, oder Sie können die Verschlüsselungsregeln selbst definieren kann die gewünschte Länge eingestellt werden. Es besteht keine Möglichkeit einer Duplizierung (ein unmögliches Ereignis)
Wenn Sie die Zeichenfolge selbst definieren und sie dann zufällig erhalten, besteht die Möglichkeit einer Duplizierung (ein Ereignis mit geringer Wahrscheinlichkeit).
Wenn Sie nur die URL schreiben
Sie können sich auch auf die URL-Schreibmethode von segmentfault beziehen

https://segmentfault.com/q/10...

Generieren Sie eine sequentiell wachsende Sequenz und konvertieren Sie sie dann über ASCII-Code in eine Zeichenfolge

PHP-Dezimal- und Hexadezimalkonvertierung:

<code>echo gmp_strval(gmp_init('9876543210', 10), 62)."\n"; //AmOy42
echo gmp_strval(gmp_init('AmOy42', 62), 10)."\n";     //9876543210</code>
Nach dem Login kopieren

Die obige AmOy42 sollte die gewünschte „Zeichenfolge“ sein.
62-Basis (10 26 26) verwendet 10 Zahlen, 26 Kleinbuchstaben und 26 Großbuchstaben. Stellt einen numerischen Wert dar, wodurch die Anzahl der Ziffern erheblich reduziert wird.
9876543210 ist eine automatisch inkrementierte ID in der Datenbank, wodurch Eindeutigkeit erreicht wird

Als einfache Methode erhalten Hash-Algorithmen wie sha256 Binärdaten (anstelle von Hexadezimalzeichenfolgen) und verwenden dann die Base64-Kodierung

Diese Methode zur Generierung von Referenz-Kurzlinks ist in Ordnung

Verwandte Etiketten:
php
Quelle:php.cn
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