Создание хэша
Обновлен: Ноябрь 2007
Управляемые классы, реализующие хэширование, могут быть использованы для хэширования либо байтового массива, либо управляемого объекта потока. В следующем примере хэш-алгоритм SHA1 используется для создания хэш-кода строки. В примере класс UnicodeEncoding используется для преобразования строки в массив байтов, которые хэшируются с помощью класса SHA1Managed. После этого хэш-код выводится на консоль.
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);
}
}
}
Этот код выводит на консоль следующую строку:
59 4 248 102 77 97 142 201 210 12 224 93 25 41 100 197 213 134 130 135
См. также
Основные понятия
Обеспечение целостности данных с помощью хэш-кодов