Heim > Backend-Entwicklung > C++ > Wie erstelle ich in C eine zufällige alphanumerische Zeichenfolge mit einer bestimmten Länge?

Wie erstelle ich in C eine zufällige alphanumerische Zeichenfolge mit einer bestimmten Länge?

Patricia Arquette
Freigeben: 2024-11-20 12:57:17
Original
969 Leute haben es durchsucht

How to Generate a Random Alpha-Numeric String of Specified Length in C  ?

Erstellen einer zufälligen alphanumerischen Zeichenfolge in C

Dieser Artikel befasst sich mit der Frage, wie eine zufällige Zeichenfolge mit alphanumerischen Zeichen einer bestimmten Länge in C generiert werden kann.

Die von Mehrdad Afshari vorgestellte Lösung ist effektiv, für diese grundlegende Aufgabe jedoch möglicherweise etwas ausführlich. Nachschlagetabellen können einen präziseren Ansatz bieten:

#include <ctime>
#include <iostream>
#include <unistd.h>

std::string gen_random(const int len) {
    static const char alphanum[] =
        "0123456789"
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        "abcdefghijklmnopqrstuvwxyz";
    std::string tmp_s;
    tmp_s.reserve(len);

    for (int i = 0; i < len; ++i) {
        tmp_s += alphanum[rand() % (sizeof(alphanum) - 1)];
    }
    
    return tmp_s;
}

int main(int argc, char *argv[]) {
    srand((unsigned)time(NULL) * getpid());     
    std::cout << gen_random(12) << "\n";        
    return 0;
}
Nach dem Login kopieren

Es ist wichtig zu beachten, dass die Rand-Funktion Pseudozufallszahlen generiert, die möglicherweise nicht von hoher Qualität sind. Für sicherere Anwendungen sollten Sie stattdessen die Verwendung eines kryptografisch starken Zufallszahlengenerators (CSPRNG) in Betracht ziehen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich in C eine zufällige alphanumerische Zeichenfolge mit einer bestimmten Länge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage