Generar cadenas alfanuméricas aleatorias en C#
-
Genere cadenas alfanuméricas aleatorias con la clase
Random
enC#
-
Genere cadenas alfanuméricas aleatorias con el método LINQ en
C#
-
Genere cadenas alfanuméricas aleatorias con la clase
RNGCryptoServiceProvider
enC#
Este tutorial discutirá los métodos para generar una cadena alfanumérica aleatoria en C#.
Genere cadenas alfanuméricas aleatorias con la clase Random
en C#
La clase Random
genera números aleatorios en C#. El método Random.Next()
genera un valor entero aleatorio. Podemos declarar una variable de cadena constante que contenga todos los caracteres alfanuméricos y elegir caracteres de la variable de cadena en función del índice generado por el método Random.Next()
.
El siguiente ejemplo de código nos muestra cómo generar una cadena alfanumérica aleatoria con la clase Random
en C#.
using System;
using System.Linq;
namespace random_alphanumeric_strings {
class Program {
static void Main(string[] args) {
var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var Charsarr = new char[8];
var random = new Random();
for (int i = 0; i < Charsarr.Length; i++) {
Charsarr[i] = characters[random.Next(characters.Length)];
}
var resultString = new String(Charsarr);
Console.WriteLine(resultString);
}
}
}
Producción :
vL8M6BNr
Generamos una cadena alfanumérica aleatoria de 8 caracteres de longitud con la clase Random
en C#. Luego inicializamos la cadena characters
que contiene todos los caracteres alfanuméricos deseados. Creamos el array de caracteres Charsarr
con una longitud de 8
caracteres. Luego inicializamos una instancia de la clase Random
random
. Hicimos una iteración a través del array Charsarr
y guardamos el carácter en un índice aleatorio de la cadena de characters
en Charsarr
cada vez. Luego convertimos el array de caracteres Charsarr
a la variable de cadena resultString
y mostramos el resultado.
Genere cadenas alfanuméricas aleatorias con el método LINQ en C#
LINQ realiza la funcionalidad de consulta en estructuras de datos en C#. Podemos utilizar LINQ con la clase Random
para mejorar el rendimiento del método anterior. El siguiente ejemplo de código nos muestra cómo generar una cadena alfanumérica aleatoria con el método LINQ en C#.
using System;
using System.Linq;
namespace random_alphanumeric_strings {
class Program {
private static Random random = new Random();
public static string method2(int length) {
const string characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
return new string(
Enumerable.Repeat(characters, length).Select(s => s[random.Next(s.Length)]).ToArray());
}
static void Main(string[] args) {
string finalString = method2(8);
Console.WriteLine(finalString);
}
}
}
Producción :
SXUXK2P8
Creamos una cadena alfanumérica aleatoria con LINQ y la clase Random
en C# en el código anterior. Este método es más eficiente que el método discutido anteriormente.
Genere cadenas alfanuméricas aleatorias con la clase RNGCryptoServiceProvider
en C#
Los métodos discutidos anteriormente no se recomiendan para generar contraseñas porque no son realmente aleatorias y siguen un patrón lineal. Para contraseñas seguras, se debe utilizar la clase RNGCryptoServiceProvider
. La clase RNGCryptoServiceProvider
genera números aleatorios criptográficos en C#. El método GetBytes()
de la clase RNGCryptoServiceProvider
llena un array de bytes con valores aleatorios. Podemos usar el método GetBytes()
con el método Convert.ToBase64String()
para obtener una cadena del array de bytes llena. El siguiente ejemplo de código nos muestra cómo generar una cadena alfanumérica aleatoria segura con la clase RNGCryptoServiceProvider
en C#.
using System;
using System.Linq;
using System.Security.Cryptography;
namespace random_alphanumeric_strings {
class Program {
static string method3(int length) {
using (var crypto = new RNGCryptoServiceProvider()) {
var bits = (length * 6);
var byte_size = ((bits + 7) / 8);
var bytesarray = new byte[byte_size];
crypto.GetBytes(bytesarray);
return Convert.ToBase64String(bytesarray);
}
}
static void Main(string[] args) {
string finalString = method3(8);
Console.WriteLine(finalString);
}
}
}
Producción :
JGc42Ug3
Generamos una cadena alfanumérica aleatoria segura con 8 caracteres con la clase RNGCryptoServiceProvider
en C# en el código anterior. Se recomienda este método si queremos generar contraseñas aleatorias porque es relativamente seguro e impredecible que los dos métodos anteriores.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn