Bonjour,
Je vous remercie beaucoup de bien vouloir m'aider à répondre au sujet suivant:
Soit la méthode suivante
Vous pouvez lire à la dernière ligne de code l'appel à la méthode Get de la property Hash
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public static void PrintHashMultiBlock(byte[] input, int size) { SHA256Managed sha = new SHA256Managed(); int offset = 0; while (input.Length - offset >= size) offset += sha.TransformBlock(input, offset, size, input, offset); /**/ /*La méthode sha.TransformFinalBlock(input, offset, input.Length - offset); permet de récupérer le tableau d'élements de type byte pour lequel on souhaite un hashage. sha.TransformFinalBlock(input, offset, input.Length - offset); Console.WriteLine("MultiBlock {0:00}: {1}", size, BytesToStr(sha.Hash)); }
Si on admet que la méthode TransformBlock ne permet que de retourner le nombre d'octets(bytes) qui seront écrits dans le tableau de sortie(qui s'appelle ici input) et si on admet que la méthode TransformFinalblock permet de retourner un tableau de bytes (qui représente une partie ou la totalité du tableau de bytes input) pour lequels on souhaite un hashage, peut on en déduire que c'est la property Hash qui se charge du hashage ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 BytesToStr(sha.Hash));
Car quand j'exécute ce code dans son contexte, je vois bien que la property Hash retourne des valeurs hashées.
Par ailleurs, comme les méthodes TransformBlock et TransformFinalBlock retournent respectivement un int et un tableau de bytes, pourquoi le résultat de l'appel de ces méthodes n'est pas récupéré dans une variable?
Bien cordialement.
new_wave
Partager