Passwort in PHP generieren

Subodh Poudel 30 Januar 2023
  1. Verwenden Sie die Funktion rand(), um einen zufälligen Array-Index auszuwählen, um ein zufälliges Passwort in PHP zu generieren
  2. Verwenden Sie die Funktionen openssl_random_pseudo_bytes() und bin2hex(), um zufällige Passwörter in PHP zu generieren
  3. Verwenden Sie die Funktionen substr() und str_shuffle(), um ein zufälliges Passwort aus einem gegebenen alphanumerischen String in PHP zu generieren
Passwort in PHP generieren

Wir werden eine Methode vorstellen, um zufällige Passwörter in PHP mit der Funktion rand() zu generieren. Diese Methode verwendet die Kombination aus Klein- und Großbuchstaben und Zahlen, um ein Passwort zu bilden. Die Funktion rand() gibt die zufällige ganze Zahl zurück, die den Array-Index darstellt, um die Passwortkombination zu wählen.

Wir werden auch eine andere Methode vorstellen, um zufällige Passwörter in PHP mit den Funktionen openssl_random_pseudo_bytes() und bin2hex() zu generieren.

Dieser Artikel demonstriert eine weitere Methode, um zufällige Passwörter in PHP mit den Funktionen substr() und str_shuffle() zu generieren. Diese Methode verwendet auch die im Programm bereitgestellten alphanumerischen Werte, um ein zufälliges Passwort zu bilden.

Verwenden Sie die Funktion rand(), um einen zufälligen Array-Index auszuwählen, um ein zufälliges Passwort in PHP zu generieren

Wir können die Funktion rand() verwenden, um in PHP ein zufälliges Passwort zu generieren. Die Funktion rand() gibt eine zufällige ganze Zahl aus dem Bereich der bereitgestellten Parameter zurück. Die Funktion verwendet zwei ganzzahlige Werte als Parameter. Wir können eine Zeichenkette aus Alphabeten und Zahlen definieren, aus der wir das Passwort kombinieren können. Die Zufallszahl indiziert das Array, um zufällige Alphabete oder Zahlen auszuwählen. Wir können die Funktion rand() durchlaufen, um das Passwort der gewünschten Länge zu erstellen.

Erstellen Sie beispielsweise eine Variable $comb und speichern Sie die Zeichenkette, die alle Klein- und Großbuchstaben und die Zahlen von 0 bis 10 enthält, als abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890. Erstellen Sie ein Array $pass mit der Funktion array(). Speichern Sie die Länge des Strings $comb in der Variablen $combLen. Erstellen Sie eine for-Schleife und durchlaufen Sie die Schleife acht Mal. Verwenden Sie innerhalb der Schleife die Funktion rand() mit 0 und der Variablen $combLen als Parameter und speichern Sie den Wert in der Variablen $n. Weisen Sie dann dem Array $pass das $comb[$n] zu. Konvertieren Sie das Array außerhalb der Schleife mit der Funktion implode() in den String.

Im folgenden Beispiel generieren wir ein zufälliges Passwort aus der Kombination, die in der Variablen $comb gespeichert ist. Die Funktion rand() nimmt eine zufällige ganze Zahl von 0 bis zur Länge des Strings $comb. Die zufällige ganze Zahl wird als Index verwendet, um den zufälligen alphanumerischen Wert aus der Kombination zu ermitteln. Die Schleife läuft acht Mal und wählt acht zufällige alphanumerische Werte aus und bildet schließlich ein zufälliges Passwort. Lesen Sie das PHP-Handbuch , um mehr über die Funktion rand() zu erfahren.

Beispielcode:

# php 7.x
<?php
 $comb = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
 $pass = array(); 
 $combLen = strlen($comb) - 1; 
 for ($i = 0; $i < 8; $i++) {
     $n = rand(0, $combLen);
     $pass[] = $comb[$n];
 }
 print(implode($pass)); 
?>

Ausgabe:

aPsQWlzh

Verwenden Sie die Funktionen openssl_random_pseudo_bytes() und bin2hex(), um zufällige Passwörter in PHP zu generieren

Wir können die Funktion openssl_random_pseudo_bytes() verwenden, um eine pseudo-zufällige Zeichenkette von Bytes zu erzeugen. Wir können als Parameter der Funktion einen ganzzahligen Wert angeben, um die Länge der gewünschten Anzahl von zu generierenden Bytes zu definieren. Die Funktion bin2hex() wandelt die Binärdaten in die hexadezimalen Darstellungen um. Wir können diese Funktion verwenden, um die zufällig generierte Bytefolge in die hexadezimale Darstellung umzuwandeln und ein Passwort zu bilden. Diese Methode generiert das zufällige Passwort, das aus den alphanumerischen Werten besteht.

Erstellen Sie beispielsweise eine Variable $bytes und weisen Sie dieser die Funktion openssl_random_pseudo_bytes() zu. Geben Sie 4 als Parameter der Funktion an. Erstellen Sie eine weitere Variable, $pass, und schreiben Sie die Funktion bin2hex() hinein. Geben Sie in der Funktion die Variable $bytes an. Geben Sie die Variable $pass mit der Anweisung echo aus.

Im folgenden Beispiel bezeichnet die 4 in der Funktion openssl_random_pseudo_bytes() die Anzahl der zufällig zu generierenden Bytes. Die Funktion bin2hex() wandelt die Bytes in hexadezimale Äquivalente um. Das zufällig generierte Passwort enthält die Länge 8, da die hexadezimale Konvertierung von 4 Bytes String 8 ergibt. Lesen Sie das PHP Manual um mehr über die Funktion bin2hex() zu erfahren.

Beispielcode:

#php 7.x
<?php
$bytes = openssl_random_pseudo_bytes(4);
$pass = bin2hex($bytes);
echo $pass;
?>

Ausgabe:

ed203eef

Verwenden Sie die Funktionen substr() und str_shuffle(), um ein zufälliges Passwort aus einem gegebenen alphanumerischen String in PHP zu generieren

Wir können die Methode str_shuffle() verwenden, um den angegebenen String zufällig zu mischen. Die Funktion mischt die Zeichenkette einer Kombination aus Klein- und Großbuchstaben zusammen mit den Zahlen von 0 bis 9. Somit bildet sie eine Permutation aller möglichen Fälle. Wir können die Funktion substr() für den gemischten String verwenden, um einen Teil seiner Zeichen auszuwählen. So können wir ein zufälliges Passwort generieren.

Erstellen Sie beispielsweise eine Variable $comb und speichern Sie darin den String-Wert abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789. Verwenden Sie str_shuffle(), um die Variable $comb zu mischen und in der Variablen $shfl zu speichern. Verwenden Sie dann die Funktion substr() und die Variable $shfl, 0 und 8 als Parameter. Speichern Sie die Funktion in einer Variable $pwd und drucken Sie die Variable aus.

Im folgenden Beispiel verwenden wir denselben Satz alphanumerischer Werte wie bei der ersten Methode. Aus diesen alphanumerischen Werten wird das zufällig generierte Passwort gebildet. Die Funktion str_shuffle() mischt den alphanumerischen Wert und erzeugt eine zufällige Permutation. Wir haben 0 und 8 in der Funktion substr() verwendet, um die acht Zeichen aus dem ersten Index der gemischten Permutation auszuwählen. Dadurch wird ein achtstelliges Zufallspasswort generiert.

Code-Beispiel:

#php 7.x
<?php
$comb = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$shfl = str_shuffle($comb);
$pwd = substr($shfl,0,8);
echo $pwd;
?>

Ausgabe:

jenZq3lY
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Verwandter Artikel - PHP Password