Fünf Möglichkeiten, zufällige Passwörter in PHP zu generieren
In diesem Artikel werden hauptsächlich fünf Methoden zum Generieren zufälliger Passwörter in PHP vorgestellt. Interessierte Freunde können sich darauf beziehen. Ich hoffe, dass er für alle hilfreich ist.
Die Verwendung von PHP zum Entwickeln von Anwendungen, insbesondere Website-Programmen, erfordert häufig die Generierung zufälliger Passwörter. Beispielsweise wird ein zufälliges Passwort für die Benutzerregistrierung generiert, und ein zufälliges Passwort ist auch für das Zurücksetzen des Passworts des Benutzers erforderlich. Ein Zufallskennwort ist eine Zeichenfolge fester Länge. Hier habe ich als Referenz mehrere Methoden zum Generieren zufälliger Zeichenfolgen zusammengestellt.
Methode 1:
1. Generieren Sie eine zufällige Ganzzahl von 33 – 126, z. B. 35,
2. Konvertieren Sie 35 in das entsprechende ASCII Codezeichen wie 35 entsprechen #
3. Wiederholen Sie die obigen Schritte 1 und 2 n-mal, um eine Verbindung zu einem n-stelligen Passwort herzustellen
Dieser Algorithmus verwendet hauptsächlich zwei Funktionen, mt_rand ( int Die Funktion „$ min, int $max“ wird zum Generieren zufälliger Ganzzahlen verwendet, wobei $min – $max der Bereich des ASCII-Codes ist, hier ist er 33-126, der Bereich kann nach Bedarf angepasst werden, zum Beispiel 97 – 122 Bit In der ASCII-Codetabelle entsprechen die englischen Buchstaben a – z. Weitere Informationen finden Sie in der ASCII-Codetabelle. Die Funktion chr (int $ascii) wird verwendet, um die entsprechende Ganzzahl $ascii in die entsprechenden Zeichen umzuwandeln.
function create_password($pw_length = 8) { $randpwd = ''; for ($i = 0; $i < $pw_length; $i++) { $randpwd .= chr(mt_rand(33, 126)); } return $randpwd; }
// Rufen Sie diese Funktion auf und übergeben Sie den Längenparameter $pw_length = 6
echo create_password(6);
Methode 2:
1 . Legen Sie eine Zeichenfolge $chars fest, einschließlich a – z, A – Z, 0 – 9 und einiger Sonderzeichen
2. Wählen Sie zufällig ein Zeichen
in der Zeichenfolge $chars aus 3. Wiederholen Sie den Vorgang Der zweite Schritt n-mal, um ein Passwort der Länge n zu erhalten
function generate_password( $length = 8 ) { // 密码字符集,可任意添加你需要的字符 $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|'; $password = ''; for ( $i = 0; $i < $length; $i++ ) { // 这里提供两种字符获取方式 // 第一种是使用 substr 截取$chars中的任意一位字符; // 第二种是取字符数组 $chars 的任意元素 // $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); $password .= $chars[ mt_rand(0, strlen($chars) - 1) ]; } return $password; }
Methode 3:
1. Stellen Sie ein Zeichenarray $chars ein, einschließlich a – z, A – Z, 0 – 9 und einige Sonderzeichen
2. Wählen Sie zufällig $length-Elemente
aus dem Array $chars bis array_rand() aus 3. Gemäß dem Array „Schlüsselnamen abrufen“ $keys , nehmen Sie die Zeichen aus dem Array $chars und verketten Sie die Zeichenfolge. Der Nachteil dieser Methode besteht darin, dass dieselben Zeichen nicht wiederholt abgerufen werden.
function make_password( $length = 8 ) { // 密码字符集,可任意添加你需要的字符 $chars = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l','m', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y','z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '@','#', '$', '%', '^', '&', '*', '(', ')', '-', '_', '[', ']', '{', '}', '<', '>', '~', '`', '+', '=', ',', '.', ';', ':', '/', '?', '|'); // 在 $chars 中随机取 $length 个数组元素键名 $keys = array_rand($chars, $length); $password = ''; for($i = 0; $i < $length; $i++) { // 将 $length 个数组元素连接成字符串 $password .= $chars[$keys[$i]]; } return $password; }
Methode 4:
Diese Methode wurde von einem Internetnutzer bereitgestellt, nachdem dieser Artikel von Blue Ideal nachgedruckt wurde. Der Algorithmus ist einfach und der Code ist kurz Nur weil das generierte Passwort aufgrund des Rückgabewerts der Funktion md5() nur Buchstaben und Zahlen enthält, ist es dennoch eine gute Methode. Algorithmusidee:
1. time() holt den aktuellen Unix-Zeitstempel
2. Verschlüssele den im ersten Schritt erhaltenen Zeitstempel mit md5()
3. Als Ergebnis Im zweiten Schritt der Verschlüsselung kann das gewünschte Passwort durch Abfangen von n Bits erhalten werden
function get_password( $length = 8 ) { $str = substr(md5(time()), 0, 6); return $str; }
Zeiteffizienzvergleich
Wir verwenden den folgenden PHP-Code, um die 4 Zufallszahlen zu berechnen Zahlen oben Die Laufzeit der Passwortgenerierungsfunktion zum Generieren eines 6-stelligen Passworts, und dann wurde ein einfacher Vergleich ihrer Zeiteffizienz durchgeführt.
<?php function getmicrotime() { list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } // 记录开始时间 $time_start = getmicrotime(); // 这里放要执行的PHP代码,如: // echo create_password(6); // 记录结束时间 $time_end = getmicrotime(); $time = $time_end - $time_start; // 输出运行总时间 echo "执行时间 $time seconds"; ?>
Methode 5:
function rand_string($len = 16, $keyword = '') { if (strlen($keyword) > $len) {//关键字不能比总长度长 return false; } $str = ''; $chars = 'abcdefghijkmnpqrstuvwxyz23456789ABCDEFGHIJKMNPQRSTUVWXYZ'; //去掉1跟字母l防混淆 if ($len > strlen($chars)) {//位数过长重复字符串一定次数 $chars = str_repeat($chars, ceil($len / strlen($chars))); } $chars = str_shuffle($chars); //打乱字符串 $str = substr($chars, 0, $len); if (!empty($keyword)) { $start = $len - strlen($keyword); $str = substr_replace($str, $keyword, mt_rand(0, $start), strlen($keyword)); //从随机位置插入关键字 } return $str; } echo rand_string(16,"ab"); //output example:V8bNY6SmkeywordB ?>
Das Endergebnis ist:
Methode 1: 9,8943710327148E-5 Sekunden
Methode zwei: 9,6797943115234E-5 Sekunden
Methode drei: 0,00017499923706055 Sekunden
Methode vier: 3,4093856811523E-5 Sekunden
Sie können Methode eins sehen. Die Ausführung Die Laufzeit von Methode 2 ist ähnlich, Methode 4 hat die kürzeste Laufzeit und Methode 3 hat eine etwas längere Laufzeit.
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
Detaillierte Interpretation von PHP-Rückruffunktionen und anonymen Funktionen
Verwendung von Memcache in PHP Datenbank
PHP-Datenbank-Redis-Nutzung und -Analyse
Das obige ist der detaillierte Inhalt vonFünf Möglichkeiten, zufällige Passwörter in PHP zu generieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
