visual utilizar usar una studio semilla repitan que número numeros metodo matriz llenar generar decimales con como clase aleatorios aleatorio c# random hex

utilizar - numeros aleatorios que no se repitan c#



Número hexadecimal generado aleatoriamente en C# (6)

.... con LINQ

private static readonly Random _RND = new Random(); public static string GenerateHexString(int digits) { return string.Concat(Enumerable.Range(0, digits).Select(_ => _RND.Next(16).ToString("X"))); }

¿Cómo puedo generar un número hexadecimal aleatorio con una longitud de mi elección usando C #?


Aquí hay uno que devolvería una cadena hexadecimal de 256 bits (8x8 = 256):

private static string RandomHexString() { // 64 character precision or 256-bits Random rdm = new Random(); string hexValue = string.Empty; int num; for (int i = 0; i < 8; i++) { num = rdm.Next(0, int.MaxValue); hexValue += num.ToString("X8"); } return hexValue; }


Depende de qué tan aleatorio lo desee, pero aquí hay 3 alternativas: 1) Usualmente solo uso Guid.NewGuid y selecciono una parte (dep. De cuántos números quiero).

2) System.Random (ver otras respuestas) es bueno si solo quieres ''al azar''.

3) System.Security.Cryptography.RNGCryptoServiceProvider


Si quiere que sea criptográficamente seguro, debe usar RNGCryptoServiceProvider.

public static string BuildSecureHexString(int hexCharacters) { var byteArray = new byte[(int)Math.Ceiling(hexCharacters / 2.0)]; using (var rng = new RNGCryptoServiceProvider()) { rng.GetBytes(byteArray); } return String.Concat(Array.ConvertAll(byteArray, x => x.ToString("X2"))); }


Random random = new Random(); int num = random.Next(); string hexString = num.ToString("X");

random.Next () toma argumentos que le permiten especificar un valor mínimo y máximo, así es como controlaría la longitud.


static Random random = new Random(); public static string GetRandomHexNumber(int digits) { byte[] buffer = new byte[digits / 2]; random.NextBytes(buffer); string result = String.Concat(buffer.Select(x => x.ToString("X2")).ToArray()); if (digits % 2 == 0) return result; return result + random.Next(16).ToString("X"); }