HashingContext
Предоставляет функциональность для вычисления криптографических хешей по частям.
Предоставляет функциональность для вычисления криптографических хешей по частям.
Класс HashingContext предоставляет интерфейс для вычисления криптографических хэшей в течение нескольких итераций. Полезно для вычисления хэшей больших файлов (чтобы вам не приходилось загружать их все в память), сетевых потоков и потоков данных в целом (чтобы вам не приходилось хранить буферы).
Перечисление HashingContext.HashType показывает поддерживаемые алгоритмы хэширования.
public const int ChunkSize = 1024;
public void HashFile(string path)
{
// Check that file exists.
if (!FileAccess.FileExists(path))
{
return;
}
// Start an SHA-256 context.
var ctx = new HashingContext();
ctx.Start(HashingContext.HashType.Sha256);
// Open the file to hash.
using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);
// Update the context after reading each chunk.
while (file.GetPosition() < file.GetLength())
{
int remaining = (int)(file.GetLength() - file.GetPosition());
ctx.Update(file.GetBuffer(Mathf.Min(remaining, ChunkSize)));
}
// Get the computed hash.
byte[] res = ctx.Finish();
// Print the result as hex string and array.
ReckfellApi.PrintT(res.HexEncode(), (Variant)res);
}Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
HashingContextКонструктор
public HashingContext();Методы4
Finishbyte[]
public byte[] Finish();Закрывает текущий контекст и возвращает вычисленный хэш.
byte[]StartError
public Error Start(HashingContext.HashType type);Запускает новое вычисление хэша указанного type (например, HashingContext.HashType.Sha256 для запуска вычисления SHA-256).
| Имя | Тип | По умолчанию |
|---|---|---|
type | HashingContext.HashType | — |
ErrorUpdate2 перегрузки
public Error Update(byte[] chunk);Обновляет вычисление с использованием указанного chunk данных.
| Имя | Тип | По умолчанию |
|---|---|---|
chunk | byte[] | — |
Errorpublic Error Update(ReadOnlySpan<byte> chunk);Обновляет вычисление с использованием указанного chunk данных.
| Имя | Тип | По умолчанию |
|---|---|---|
chunk | ReadOnlySpan<byte> | — |
ErrorHashingContext.HashType
| Значение | Описание |
|---|---|
Md5 = 0 | Алгоритм хэширования: MD5. |
Sha1 = 1 | Алгоритм хэширования: SHA-1. |
Sha256 = 2 | Алгоритм хэширования: SHA-256. |