Créer une empreinte numérique d'un hash SHA256 ?
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 ?
Code:
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());
} |
Merci.