Générer des chaînes alphanumériques aléatoires en C#
-
Générer des chaînes alphanumériques aléatoires avec la classe
Random
enC#
-
Générer des chaînes alphanumériques aléatoires avec la méthode LINQ en
C#
-
Générer des chaînes alphanumériques aléatoires avec la classe
RNGCryptoServiceProvider
enC#
Ce tutoriel abordera les méthodes pour générer une chaîne alphanumérique aléatoire en C#.
Générer des chaînes alphanumériques aléatoires avec la classe Random
en C#
La classe Random
génère des nombres aléatoires en C#. La méthode Random.Next()
génère une valeur entière aléatoire. On peut déclarer une variable chaîne constante contenant tous les caractères alphanumériques et choisir des caractères de la variable chaîne en fonction de l’index généré par la méthode Random.Next()
.
L’exemple de code suivant nous montre comment générer une chaîne alphanumérique aléatoire avec la classe 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);
}
}
}
Production:
vL8M6BNr
Nous avons généré une chaîne alphanumérique aléatoire de 8 caractères avec la classe Random
en C#. Ensuite, nous avons initialisé la chaîne characters
contenant tous les caractères alphanumériques souhaités. Nous avons créé le tableau de caractères Charsarr
d’une longueur de 8
caractères. Nous avons ensuite initialisé une instance de la classe Random
random
. Nous avons parcouru le tableau Charsarr
et enregistré le caractère à un index aléatoire de la chaîne characters
dans Charsarr
à chaque fois. Nous avons ensuite converti le tableau de caractères Charsarr
en variable chaîne resultString
et affiché le résultat.
Générer des chaînes alphanumériques aléatoires avec la méthode LINQ en C#
Le LINQ exécute la fonctionnalité de requête sur les structures de données en C#. Nous pouvons utiliser le LINQ avec la classe Random
pour améliorer les performances de la méthode précédente. L’exemple de code suivant nous montre comment générer une chaîne alphanumérique aléatoire avec la méthode 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);
}
}
}
Production:
SXUXK2P8
Nous avons créé une chaîne alphanumérique aléatoire avec LINQ et la classe Random
en C# dans le code ci-dessus. Cette méthode est plus efficace que la méthode décrite ci-dessus.
Générer des chaînes alphanumériques aléatoires avec la classe RNGCryptoServiceProvider
en C#
Les méthodes décrites ci-dessus ne sont pas recommandées pour générer des mots de passe car elles ne sont pas vraiment aléatoires et suivent un modèle linéaire. Pour les mots de passe sécurisés, la classe RNGCryptoServiceProvider
doit être utilisée. La classe RNGCryptoServiceProvider
génère des nombres aléatoires cryptographiques en C#. La méthode GetBytes()
de la classe RNGCryptoServiceProvider
remplit un tableau d’octets avec des valeurs aléatoires. Nous pouvons utiliser la méthode GetBytes()
avec la méthode Convert.ToBase64String()
pour extraire une chaîne du tableau d’octets rempli. L’exemple de code suivant nous montre comment générer une chaîne alphanumérique aléatoire sécurisée avec la classe 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);
}
}
}
Production:
JGc42Ug3
Nous avons généré une chaîne alphanumérique aléatoire sécurisée de 8 caractères avec la classe RNGCryptoServiceProvider
en C# dans le code ci-dessus. Cette méthode est recommandée si nous voulons générer des mots de passe aléatoires car elle est relativement sécurisée et imprévisible par rapport aux deux méthodes précédentes.
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.
LinkedInArticle connexe - Csharp String
- C# Convert String to enum
- C# Convertir Int en String
- Utiliser des chaînes dans l'instruction Switch en C#
- Comment convertir une chaîne de caractères en booléen en C#
- Comment convertir une chaîne de caractères en un tableau d'octets en C#
- Comment convertir une chaînes de caractères pour qu'elle flotte en C#