Метод HashData
Метод HashData не требует
using и сразу возвращает
массив из 32 байт.
Строку в hex даёт
Convert.ToHexString
заглавными буквами без дефисов.
Синтаксис
byte[] hash = SHA256.HashData(source);
Пример
Давайте посчитать хеш UTF-8
строки abcde:
using System;
using System.Security.Cryptography;
using System.Text;
class Program
{
static void Main()
{
byte[] data = Encoding.UTF8.GetBytes("abcde");
string res = Convert.ToHexString(SHA256.HashData(data));
Console.WriteLine(res);
}
}
Результат выполнения кода:
36BBE50ED96841D10443BCB670D6554F0A34B761BE67EC9C4A8AD2C0C44CA42C
Пример
Давайте посчитать хеш пустого массива:
using System;
using System.Security.Cryptography;
class Program
{
static void Main()
{
byte[] data = Array.Empty<byte>();
string res = Convert.ToHexString(SHA256.HashData(data));
Console.WriteLine(res);
}
}
Результат выполнения кода:
E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855
Пример
Давайте проверить длину результата:
using System;
using System.Security.Cryptography;
using System.Text;
class Program
{
static void Main()
{
byte[] data = Encoding.UTF8.GetBytes("abcde");
int res = SHA256.HashData(data).Length;
Console.WriteLine(res);
}
}
Результат выполнения кода:
32
Смотрите также
-
SHA256,
обзор класса -
IncrementalHash,
куски данных -
SHA512,
SHA-512 -
MD5,
старый MD5