Generador de cadenas aleatorios C ++

Generador de cadenas aleatorios C ++
Las cadenas generador aleatorio pueden ser únicos. Un generador de cadenas aleatorios también se conoce como generador de cadenas de caracteres aleatorios cuando se usa en la programación de computadoras. Es muy efectivo generar cadenas aleatorias, como un ID de sesión para una aplicación web o una contraseña preliminar después de registrarse para una aplicación.

Para generar caracteres aleatorios, debemos usar el método rand (). Genera valores enteros al azar. Este número se crea utilizando un algoritmo asociado con el tiempo específico que se llama y devuelve una sucesión de números aparentemente no relacionados. Hay algunas aplicaciones para generar cadenas aleatorias de la siguiente manera:

  • La criptografía, que sustenta la mayoría de las técnicas que buscan ofrecer seguridad en las comunicaciones modernas, hace un uso extensivo de personajes aleatorios inesperados (E.gramo., cifrado, autorización, negocio electrónico, etc.).
  • Los personajes aleatorios también se utilizan en los casos en que la "justicia" se puede simular a través de la aleatorización, como la selección del jurado y las loterías militares.

Aquí está el artículo que generará el alfabeto al azar con diferentes escenarios de una manera simple

Ejemplo 1: Uso de la función rand () para generar alfabetos aleatorios en c++

El siguiente programa C ++ genera un alfabeto de cadena aleatorio usando la función rand () y la función srand (). La función rand () genera los alfabetos aleatorios en una cadena y la función srand () se usa para sembrar la función rand ().

Inicialmente, tenemos un programa que establece la matriz del tamaño de los alfabetos como "ch_max", que es de tipo de datos int char. Después de eso, construimos una función de tipo de datos de cadena representada como "randomstring" y pasamos una variable int "ch". Dentro de la función, se crea una matriz de caracteres como "alfa", que ha pasado el tamaño de la matriz de caracteres inicializado arriba. La matriz de personajes tiene 26 alfabetos que están en minúsculas.

Luego, hemos creado una variable como "resultado" y actualmente mantuvimos esta variable "resultado" vacía. El bucle for se ciclista sobre la variable "CH" que contiene alfabetos en minúsculas. Luego, hemos definido la variable "resultado". El resultado tiene la función rand () para las matrices de caracteres de los alfabetos. Esto generará una cadena alfabética aleatoria.

Ahora, la función principal del programa se invoca donde la función SRAND se usa para establecer el tiempo de semilla como nula, y también la variable int "CH" se inicializa con el valor "15". La cadena de alfabeto aleatoria generada tendrá 15 alfabetos aleatorios de la matriz dada.

#incluir
usando el espacio de nombres STD;
const int ch_max = 26;
String RandomString (int ch)

char alpha [ch_max] = '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' ;
Resultado de cadena = "";
para (int i = 0; iresultado = resultado + alfa [rand () % ch_max];
resultado de retorno;

int main ()

srand (tiempo (nulo));
int ch = 15;
cout<regresar 0;

El shell de inmediato muestra la salida de cadena de alfabetos aleatorios de la siguiente manera:

Ejemplo 2: Generar la cadena de alfabetos y almacenarlos en la matriz de caracteres en C++

En este código, primero generamos dos matrices de caracteres, una para almacenar todos los alfabetos y otro para imprimir caracteres al azar. Elegimos una longitud mínima para mantener las cosas simples.

Para comenzar con la función principal, hemos declarado una variedad de alfabetos de tamaño 26 como "alfabetos". Como hay 26 alfabetos en general, la representación de estos alfabetos está en minúscula. Luego, hemos definido otra matriz de personajes como "Randstring", que tiene el tamaño de "10". La semilla para la función RAND también se establece, sin pasar por el tiempo a los valores nulos en la función SRAND.

Tenemos un bucle de tiempo para el cual se crea e inicializa la variable "k" con el valor cero. El bucle While se ejecuta a través del tamaño del "randstring", que es una cadena aleatoria y almacena alfabetos de cadena creados al azar en un bucle de tiempo. La variable "temp" se crea aquí, que utiliza la función RAND para generar una cadena aleatoria dentro de un rango de 26. El número se pasa a la matriz del alfabeto, generando una cadena aleatoria.

Después de eso, tenemos un bucle for para imprimir la cadena del alfabeto.

#incluir
#incluir
#incluir
usando el espacio de nombres STD;
int main ()

Char Alphabets [26] = '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';
Char Randstring [10];
srand (tiempo (nulo));
int k = 0;
mientras (k<10)
int temp = rand () % 26;
Randstring [k] = alfabetos [temp];
K ++;

para (k = 0; k<10; k++)
cout<cout<<"\n";
regresar 0;

La cadena tiene el carácter alfabético aleatorio del tamaño de longitud 10, que se muestra en la siguiente carcasa.

Ejemplo 3: Generación de palabras de palabras aleatorias en c++

El programa anterior ha generado una cadena de alfabetos y los almacena en la matriz. Estamos generando la cadena de palabras aleatorias en el siguiente programa C ++.

El paso inicial del programa tiene la función Void creada con el nombre "Randomword", que ha pasado una variable de caracteres de puntero "STRWORD". Dentro de la función, hemos especificado una variable como "len". Esta variable utiliza la función RAND para crear un valor diferente para los caracteres dentro del rango del tamaño de la matriz.

Luego, hemos definido una matriz "strword", que tiene el tamaño de "len". El bucle de while iterará sobre el "strword" y generará la palabra aleatoria dentro del rango de 26 caracteres. Después de eso, la función principal imprimirá la palabra aleatoria a través de la iteración por un bucle.

#incluir
#incluir
#incluir
#incluir
usando el espacio de nombres STD;
Void Randomword (char *strword)

int len ​​= rand () % 4 + 1;
Strword [len] = 0;
while (len) strword [--len] = 'a' + rand () % 26;

int main ()

char strword [5];
char strword2 [5];
int i = 0;
srand (tiempo (0));
mientras yo<4)

Randomword (strword);
Randomword (strword2);
cout << "=>" << StrWord << " << "=>" << StrWord2 << endl;
i ++;

El resultado del generador de palabras aleatorias se muestra en la cubierta terminal.

Ejemplo 4: Generación de cadena alfa-numérica en C++

Ahora, miraremos la creación de una cadena alfanumérica aleatoria en C++. Tenemos letras minúsculas, letras mayúsculas y dígitos de 0 a 9. Este programa selecciona caracteres al azar y luego genera una cadena aleatoria.

Al principio, hemos declarado una matriz como "alfanumérica", que contiene alfabetos en minúsculas y mayúsculas y el valor numérico de 0 a 9. Después de eso, la ID de tamaño de la matriz se inicializa utilizando la función sizeOf y se almacena en una variable recién creada, "MyLen".

Luego, la función "Randomstr" se crea para generar cadenas alfanuméricas aleatorias dentro del rango de tamaño de matriz. Tenemos tiempo establecido en cero dentro de la función principal, y la variable se define como "L". El usuario ingresará la longitud de la cadena y luego imprimirá en el shell.

#incluir
#incluir
#incluir
#incluir
usando el espacio de nombres STD;
estatic const char alfanumérico [] = "0123456789"
"ABCDEFGHIJKLMNOPQRSTU VWXYZ"
"ABCDEFGHIJKLMNOPQRSTU VWXYZ";
int mylen = sizeof (alfanumérico) - 1;
char randomstr ()
return alfanumérico [rand () % mylen];

int main ()
srand (tiempo (0));
int l;
cout << "Enter string length: ";
cin >> l;
para (int m = 0; m < l; m++)
cout<
cout<< "\n";
regresar 0;

Por lo tanto, en cada compilación de código, obtuvimos una cadena alfanumérica aleatoria diferente en el shell.

Conclusión

Aleatorio es uno de los conceptos más difíciles de explicar. Incluso los programadores experimentados pueden verse desconcertados por múltiples funciones con el mismo nombre. Sin embargo, usarlos adecuadamente puede ser agradable. Hemos visto en el ejemplo anterior cómo se han generado alfabetos aleatorios, palabras e incluso cadenas alfanuméricas en el programa c++. Le hemos proporcionado los ejemplos más simples, que se pueden manejar fácilmente cuando se trata de generadores de cadenas aleatorios en C++.
[/cc]