Comment générer une valeur de hachage MD5 aléatoire en C #? P>
3 Réponses :
Vous pouvez créer une chaîne aléatoire à l'aide de guid.newguid () code> et générer sa checksum MD5. P>
Bien que GUID soit une valeur aléatoire de 128 bits, 6 bits sont prédéfinis. Donc, même après hachage, vous n'aurez que 2 ^ 122 différentes valeurs de hachage. Utilisation de RngCryptoServiceProvider, vous aurez toutes les 2 ^ 128 valeurs. En fait, GUID utilise également RngCryptoServiceProvider.
J'ai peur guid.newguid () n'est pas aléatoire.
Une valeur de hachage de MD5 aléatoire est efficacement juste un nombre aléatoire de crypto-résistance de 128 bits.
var bytes = new byte[16]; using (var rng = new RNGCryptoServiceProvider()) { rng.GetBytes(bytes); } // and if you need it as a string... string hash1 = BitConverter.ToString(bytes); // or maybe... string hash2 = BitConverter.ToString(bytes).Replace("-", "").ToLower();
using System.Text; using System.Security.Cryptography; public static string ConvertStringtoMD5(string strword) { MD5 md5 = MD5.Create(); byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(strword); byte[] hash = md5.ComputeHash(inputBytes); StringBuilder sb = new StringBuilder(); for (int i = 0; i < hash.Length; i++) { sb.Append(hash[i].ToString("x2")); } return sb.ToString(); }
Créez une chaîne aléatoire - et générer MD5 pour cela. Mais pourquoi voulez-vous quelque chose comme ça? Si vous voulez un identifiant unique, utilisez simplement
guid code>
Comment créer une chaîne aléatoire?
Pourquoi quelqu'un voudrait-il créer un hachage de MD5 aléatoire? Toute chaîne de 128 longueur peut être un hachage de MD5 aléatoire (au moins je suppose).
@SUDANTANTHA - Voir cette réponse Stackoverflow.com/questions/ 1122483 / C-String-String-Generato R / ...
@ Int3: Non, ce n'est pas correct. Les hachages MD5 contiennent uniquement des chiffres et des caractères A, B, C, D, E et F (hexadécimal).