Partager via


Génération d'un hachage

Les classes de hachage managées peuvent effectuer un hachage soit sur un tableau d'octets, soit sur un objet de flux managé. L'exemple suivant utilise l'algorithme de hachage SHA1 pour créer une valeur de hachage pour une chaîne. L'exemple utilise la classe UnicodeEncoding pour convertir la chaîne en un tableau d'octets qui sont hachés à l'aide de la classe SHA1Managed. La valeur de hachage est ensuite affichée sur la console.

Imports System
Imports System.Security.Cryptography
Imports System.Text

Module Module1
    Sub Main()
        Dim HashValue() As Byte

        Dim MessageString As String = "This is the original message!"

        'Create a new instance of the UnicodeEncoding class to 
        'convert the string into an array of Unicode bytes.
        Dim UE As New UnicodeEncoding()

        'Convert the string into an array of bytes.
        Dim MessageBytes As Byte() = UE.GetBytes(MessageString)

        'Create a new instance of the SHA1Managed class to create 
        'the hash value.
        Dim SHhash As New SHA1Managed()

        'Create the hash value from the array of bytes.
        HashValue = SHhash.ComputeHash(MessageBytes)

        'Display the hash value to the console. 
        Dim b As Byte
        For Each b In HashValue
            Console.Write("{0} ", b)
        Next b
    End Sub
End Module
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

class Class1
{
   static void Main(string[] args)
   {
      byte[] HashValue;

      string MessageString = "This is the original message!";

      //Create a new instance of the UnicodeEncoding class to 
      //convert the string into an array of Unicode bytes.
      UnicodeEncoding UE = new UnicodeEncoding();

      //Convert the string into an array of bytes.
     byte[] MessageBytes = UE.GetBytes(MessageString);

      //Create a new instance of the SHA1Managed class to create 
      //the hash value.
      SHA1Managed SHhash = new SHA1Managed();

      //Create the hash value from the array of bytes.
      HashValue = SHhash.ComputeHash(MessageBytes);

      //Display the hash value to the console. 
      foreach(byte b in HashValue)
      {
         Console.Write("{0} ", b);
      }
   }
}

Ce code affiche la chaîne suivante sur la console.

59 4 248 102 77 97 142 201 210 12 224 93 25 41 100 197 213 134 130 135

Voir aussi

Concepts

Vérification d'un hachage
Garantie de l'intégrité des données à l'aide des codes de hachage

Autres ressources

Tâches de chiffrement
Services de chiffrement