Heim  >  Artikel  >  Backend-Entwicklung  >  So generieren Sie eine zufällige Zeichenfolge mit PHP

So generieren Sie eine zufällige Zeichenfolge mit PHP

藏色散人
藏色散人Original
2019-01-29 15:26:5813584Durchsuche

Generieren Sie mit PHP zufällige, eindeutige alphanumerische Zeichenfolgen.

So generieren Sie eine zufällige Zeichenfolge mit PHP

Beispiel:

EA070
aBX32gTf

Methode 1:

Die erste Methode ist am einfachsten zu verstehen. Es kann wie folgt implementiert werden:

– speichert alle möglichen Buchstaben in einem String.

– Erzeugt einen zufälligen Index von 0 bis Stringlänge – 1.

– Druckt den Buchstaben an diesem Index.

– Führen Sie diesen Schritt n-mal aus (wobei n die Länge der gewünschten Zeichenfolge ist).

Der Programmcode lautet wie folgt:

<?php 
$n=10; 
function getName($n) { 
    $characters = &#39;0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&#39;; 
    $randomString = &#39;&#39;; 
  
    for ($i = 0; $i < $n; $i++) { 
        $index = rand(0, strlen($characters) - 1); 
        $randomString .= $characters[$index]; 
    } 
  
    return $randomString; 
} 
  
echo getName($n); 
?>

Ausgabe 1:

3HDrSOvRIs

Ausgabe 2:

lipHh

Methode 2: Hash-Funktion verwenden

PHP verfügt über einige Funktionen wie md5(), sha1() und hash(), die zum Hashen von Zeichenfolgen nach bestimmten Algorithmen wie „sha1“, „sha256“, „md5“ usw. verwendet werden können. Ich hoffe, damit klarzukommen. Alle diese Funktionen verwenden einen String als Argument und geben einen alphanumerischen Hash-String aus.

Verwenden Sie die Funktion rand(), um Zufallszahlen zu generieren.

Hashen Sie es mit einer der oben genannten Funktionen.

Programm 1:

<?php 
$str=rand(); 
$result = md5($str); 
echo $result; 
?>

Ausgabe 1:

2e437510c181dd2ae100fc1661a445d4

Ausgabe 2:

256394010059991a71ea05e5d859d2be

Programm 2:

<?php 
$str=rand(); 
$result = sha1($str); 
echo $result; 
?>

Ausgabe 1:

6eadd9b2c4389d9b109b3b869f66aab5d8f9420a

Ausgabe 2:

ca2d3c0993ab87e842d0a7a01f319aca6c587a87

Programm 3:

<?php 
$str = rand(); 
$result = hash("sha256", $str); 
echo $result; 
?>

Ausgabe 1:

2a41cbc8cc11f8c8d0eb54210fe524748b4def1c5b04fcf18c2d5972e24d11c2

Ausgabe 2:

291144c1cbba4de0bf199d37ee265ac95cc2e44e80fd2642b22a6e8ef2f42a39

Hinweis: oben Alle Funktionen sind Hash-Funktionen, sodass die resultierende Stringlänge immer vom verwendeten Algorithmus abhängt, für den Algorithmus jedoch immer gleich bleibt. Wenn Sie also eine Zeichenfolge mit fester Länge generieren möchten, können Sie die generierte Zeichenfolge abschneiden oder bei Bedarf mit einer anderen Zeichenfolge verketten.

Methode 3:

Verwenden Sie die Funktion uniqid(). Die Funktion uniqid() in PHP ist eine integrierte Funktion, mit der eine eindeutige ID basierend auf der aktuellen Zeit (Mikrosekunden) generiert wird. Standardmäßig wird eine eindeutige Zeichenfolge mit einer Länge von 13 Zeichen zurückgegeben.

Programm:

<?php  
$result = uniqid();   
echo $result; 
?>

Ausgabe 1:

5bdd0b74e9a6c

Ausgabe 2:

5bdd0bbc200c4

Hinweis: Alle oben genannten Methoden basieren auf rand()- und uniqid()-Funktionen. Bei diesen Funktionen handelt es sich nicht um kryptografisch sichere Zufallsgeneratoren. Daher wird empfohlen, diese Methoden zu vermeiden, wenn der Grad der Zufälligkeit die Sicherheit der Anwendung beeinträchtigt.

Methode 4:

Verwenden Sie die Funktion random_bytes(). (Kryptografisch sicher) Die Funktion random_bytes() generiert kryptografisch sichere pseudozufällige Bytes, die später mit der Funktion bin2hex() in das Hexadezimalformat konvertiert werden können.

Programm:

<?php  
$n = 20; 
$result = bin2hex(random_bytes($n)); 
echo $result; 
?>

Ausgabe 1:

235aed08a01468f90fa726bd56319fb893967da8

Ausgabe 2:

508b84494cdf31bec01566d12a924c75d4baed39

Ich hoffe, dieser Artikel handelt von der Methode zum Generieren von Zufallszeichenfolgen in PHP Helfen Sie den Bedürftigen!

Das obige ist der detaillierte Inhalt vonSo generieren Sie eine zufällige Zeichenfolge mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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