Bonjour,
J'ai codé la fonction ci-dessous qui me produit un hash SHA256 d'une chaine de caractères. Cependant je voudrais compléter cette fonction pour avoir comme résultat un nombre de 20 chiffres à partir du Hash.
Pour y arriver, je dois extraire les 64 bits ayant un poids fort et les convertir en numérique.
Comment puis-je procéder ? J'ai essayé plein de façon, lu plein de choses sur le net (conversion en binaire, tutoriel sur les bits ...) mais même avec tout ça je bloque. Pouvez-vous m'aider ?
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 private string calc_sha256(string graine) { SHA256 hash = SHA256.Create(); byte[] Tab = Encoding.UTF8.GetBytes(graine); byte[] hashResult = hash.ComputeHash(Tab); // conversion en numerique mais ne me donne pas ce que je veux decimal decvalue = BitConverter.ToUInt64(hashResult,0); // retourne le résultat sous forme de chaine return (decvalue.ToString()); }
Partager