17 Stimmen

Generator für zufällige lange Hex-Zeichenfolgen in PHP

Ich habe einen Generator für Zeichenketten geschrieben, aber ich weiß nicht, wie ich eine Zufallshex Zeichenkette mit einer Länge von z. B. 100 Ziffern zum Einfügen in eine Datenbank. Alle diese Zeichenketten müssen gleich lang sein.

Wie kann ich zufällige Hex-Zeichenfolgen erzeugen?

0voto

Sabo Punkte 1606

Ich möchte eine einzige allgemeine Funktion haben, die ähnliche Situationen bewältigen kann. Damit meine ich eine Funktion, die sowohl die geforderte Länge der generierten Zeichenfolge als auch die möglichen Zeichen, die darin vorkommen können, erhält.

Auf diese Weise kann eine einzige Funktion erstellt werden: 40-stellige Dezimalzahl, 16-stellige Hexadezimalzahl in Großbuchstaben, 100 Buchstaben in Kleinbuchstaben usw...

Hier ist meine Umsetzung:

/**
 * Generate a random string.
 *
 * @param int    $length Length of the generated string.
 * @param string $chars  The string containing all of the available characters.
 *
 * @return string The generated string.
 */
function getRandomString($length = 10, $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789') {
    $str = '';

    $size = strlen($chars);
    for ($i = 0; $i < $length; $i++) {
        $str .= $chars[mt_rand(0, $size - 1)];
    }

    return $str;
}

WICHTIG! Verwenden Sie diese Funktion nicht, um eine zufällige Zeichenfolge für Sicherheitszwecke zu erzeugen. Für einen sicheren String-Generator sehen Sie sich die Antwort von @danorton an.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X