So generieren Sie eine zufällige Zeichenfolge in PHP [mit Beispielen]
Veröffentlicht: 2020-11-24PHP stand zum Zeitpunkt seiner Einführung für Personalisierte Homepage . Und während seine evolutionäre Reise der Branche eine alternative und akzeptablere (rekursive) Definition als PHP: Hypertext PreProcessor gab, ist die Wahrheit über PHP, dass es immer noch mehr als alles andere den Geist der Personalisierung aufnimmt.
Heute ist PHP die am meisten bevorzugte, kostenlose und Open-Source-Alternative zu allen anderen führenden Serverkonfigurationssprachen, wie etwa Microsofts ASP (Active Server Pages). Ein großer Teil dieses Personalisierungsaspekts wird durch das Vorhandensein eines PHP - Interpreters auf der Serverseite vorangetrieben, der entweder als Modul , als Daemon oder als ausführbare Datei implementiert werden kann .
PHP-Schnittstellen sind hilfreich bei der Verwaltung wichtiger benutzerzentrierter Daten wie UIDs (Unique Identifiers), E-Mail-Adressen, Benutzernamen, Passwörter, vertrauliche Kontaktinformationen und vieles mehr.
Viele, wenn nicht alle der weltweit führenden dynamischen Content-Management-Systeme (einschließlich des CMS-Giganten WordPress) sind PHP-basierte Plattformen, die die einfache Erstellung und Pflege von Benutzerdatensätzen und Inhaltsdatensätzen in Form von PHP-zugänglichen Datenbanken ermöglichen .
In diesem Artikel werden wir einen bestimmten Aspekt von PHP untersuchen, der es Administratoren so einfach macht, alle Pflichtfelder auszufüllen, die beim Erstellen eines neuen „Benutzers“ mit minimalem Eingriff sowohl von Seiten des Administrators als auch von Seiten des Benutzers benötigt werden . Dazu müssen Administratoren lernen, wie man zufällige PHP-Strings generiert, und das werden wir behandeln.
Lesen Sie: Ideen und Themen für PHP-Projekte

Inhaltsverzeichnis
Was ist ein PHP-Random-String?
Ein PHP Random String ist eine eindeutige, randomisierte und alphanumerische Zeichenkette, die in einem Array als Dateiname, als zufällige URL-Erweiterung, als Passwort oder als Authentifizierungstoken (wie die gängigen API-Tokens und API-Geheimnisse, wie sie auf der App-Entwicklungsschnittstelle von Facebook zu sehen sind).
Häufige Blogger, insbesondere diejenigen, die Plattformen wie Medium verwenden, um ihre Arbeit zu veröffentlichen, werden diesen Akt der zufälligen String-Generierung in Aktion sehen, wenn sie eine neue Geschichte oder einen neuen Beitrag veröffentlichen – die URL-Erweiterung, die der Basisdomain folgt, ist normalerweise das Ergebnis einer beliebige Zeichenfolge, die von der Veröffentlichungsschnittstelle generiert wird.
Beispielsweise ist in der URL https://medium.com/neli/shiring-revealing-the-best-kept-secret-of-ancient-indian-meditation-c37d87e3386b der letzte Teil der URL (c37d87e3386b ) zufällig generierte Zeichenfolge . Andere einfache und wichtige Referenzen von zufälligen PHP-Strings sind die „Standard“-Passwörter, die für alle neuen Benutzerkonten in WordPress generiert werden.
Eine zunehmende Mehrheit der Verbraucher-Internetplattformen verlagert sich auch auf die Verwendung von zufälligen PHP-Strings, um die Leistungsfähigkeit der Verschlüsselung bei der Ermöglichung von „Magic Link“-Anmeldungen zu nutzen. Wenn Sie jemals einen Cloud-basierten Dienst verwendet haben, der eine „Magic Link“-Anmeldung verwendet, sind Sie bereits mit der Leichtigkeit, Effizienz und erweiterten Sicherheitsebene vertraut, die mit der Generierung und Zuordnung von PHP-Zufallszeichenfolgen bereitgestellt wird.
Wie erzeuge ich eine zufällige PHP-Zeichenfolge?
Die Aufgabe besteht darin, Code zu schreiben, der mit PHP zufällige, alphanumerische und eindeutige Zeichenfolgen generiert. Es gibt vier verschiedene Möglichkeiten, wie dies erreicht werden kann:
- Durch die Verwendung von Brute Force (Zufallsindizierung) – Dies ist bei weitem die einfachste, aber auch eine grobe Methode, um eine zufällige PHP-Zeichenfolge zu erhalten.
- Durch die Verwendung von „ Hashing “-Funktionen (algorithmische Generierung von zufälligen PHP-Strings – dies ist ein etwas intelligenterer Ansatz im Vergleich zur Verwendung von Brute Force)
- Durch die Verwendung der integrierten uniqid()- Funktion (dies ist unkompliziert und nutzt eine integrierte PHP-Funktionalität, um eindeutige Kennungen für Elemente zu generieren)
- Durch die Verwendung von random_bytes() gefolgt von bin2hex() – erzeugt er kryptografisch sichere Zufallsbytes und bietet erstaunliche Funktionalität für Schnittstellen wie Online-Lotterien, Online-Pokerspiele und andere Plattformen, die eine Echtzeit-Zahlengenerierung mit echter Randomisierung in ihrem Kern erfordern.
Lesen Sie auch: Karrieremöglichkeiten in PHP

Generieren eines zufälligen PHP-Strings mit Brute Force
Das Brute-Force-Konzept der zufälligen Zeichenfolgengenerierung in PHP ist am einfachsten zu verstehen und am einfachsten zu implementieren. Im Großen und Ganzen lässt sich der Brute-Force-Ansatz in vier einfachen Schritten erklären:
- Vereinen Sie alle möglichen Zeichen und fügen Sie sie in eine Zeichenfolge ein (dies ist Ihr Beispielspeicherplatz für alle zulässigen Zeichen in Ihrer Zeichenfolge).
- Generieren Sie einen „Zufallsindex“, der bei 0 (Null) beginnt und sich bis zur Zeichenfolgenlänge „-1“ erstreckt.
- Druckt ein Zeichen an der aktuellen Indexposition.
- Wenn X die Anzahl der Zeichen ist, die Sie in Ihrer Zeichenfolge benötigen (Ihre gewünschte Zeichenfolgenlänge), wiederholen Sie die Schritte 1, 2 und 3 insgesamt X Mal in Ihrer gesamten Anweisungsschleife.
Wie Sie in der folgenden Beispielcodeimplementierung sehen können, ist dies bei weitem die einfachste Art, eine zufällige Zeichenfolge in PHP zu generieren.
Beispielcode:
<?php
$n=10;
Funktion getName($n) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randomString = ”;
für ($i = 0; $i < $n; $i++) {
$index = rand(0, strlen($zeichen) – 1);
$randomString .= $zeichen[$index];
}
$randomString zurückgeben;
}
echo getName($n);
?>
Muss gelesen werden: Fragen und Antworten zu PHP-Interviews
Generieren eines zufälligen PHP-Strings mit „Hashing“-Funktionen
PHP hat einige eingebaute Funktionen, die als „ Hashing - Funktionen“ bekannt sind, wie md5 (), sha1 () und hash (). Diese Funktionen können verwendet werden, um eine Zeichenfolge zu „hashen“, die durch bestimmte Algorithmen wie „sha1“, „sha256“ und „md5“ definiert ist. Bei all diesen Funktionen ist das Argument eine Zeichenfolge und die Ausgabe eine alphanumerische gehashte Zeichenfolge (wie im Beispielcode unten zu sehen).
Beispielcode:
<?php
$str=rand();
$ergebnis = md5($str);
echo $ergebnis;
?>
Generieren eines zufälligen PHP-Strings mit der eingebauten Funktion „uniqid()“.
PHP behält einen Anschein seines Wertes als Personalisierungstool par excellence, mit speziellen eingebauten Funktionen wie uniqid(), mit denen eine „eindeutige ID (UID)“ generiert werden kann, die von der aktuellen Zeit abgeleitet und aufgezeichnet wird Mikrosekunden (auch bekannt als „Mikrozeit“).
Unter der Standardsyntax gibt die Funktion uniqid() immer eine eindeutige alphanumerische Zeichenfolge zurück, die eine Zeichenfolgenlänge von 13 Zeichen hat. Sie können den folgenden Beispielcode verwenden, um eine Implementierung der uniqid()-Methode zu testen.
Beispielcode:
<?php
$ergebnis = uniqid();
echo $ergebnis;
?>
Generieren eines PHP-Zufallsstrings mit random_bytes() und bin2hex()
Dies ist bei weitem die am weitesten entwickelte und sicherste Art, „pseudozufällige“ Bytes zu generieren und sie dann in ein hexadezimales Format umzuwandeln, um der vorhandenen Randomisierung eine Verschlüsselungsebene hinzuzufügen.
Der erste Schritt besteht darin, die eingebaute Funktion random_bytes () aufzurufen, um kryptografisch sichere Zufallsbytes zu generieren. Der nächste Schritt besteht darin, die Funktion bin2hex () aufzurufen, die diese Binärdaten (Anzahl der Bytes) als Argument verwendet und einen entsprechenden Hexadezimalwert als Ausgabe generiert, der eine perfekt verwendbare und Dies wird im folgenden Beispielcode besser erläutert.
Beispielcode:
<?php

$n = 20;
$result = bin2hex(random_bytes($n));
echo $ergebnis;
?>
Was als nächstes?
upGrad bietet Programmieren mit PHP und vieles mehr mit upGrads PG Diploma in Software Development Specialization in Full Stack Development . Ein Programm, mit dem Sie sich als Full-Stack-Entwickler hervortun und lernen, einige der großartigen Anwendungen zu erstellen. Es ist ein umfangreiches 12-monatiges Programm, das die Arbeit an Live-Projekten und -Aufgaben sowie das Training von 15 Programmiersprachen und -tools umfasst. Darüber hinaus bietet es jederzeit Karriereunterstützung mit Scheininterviews und Arbeitsunterstützung.