Bagikan melalui


HashAlgorithm Kelas

Definisi

Mewakili kelas dasar dari mana semua implementasi algoritma hash kriptografi harus berasal.

public ref class HashAlgorithm abstract : IDisposable, System::Security::Cryptography::ICryptoTransform
public ref class HashAlgorithm abstract : IDisposable
public ref class HashAlgorithm abstract : System::Security::Cryptography::ICryptoTransform
public abstract class HashAlgorithm : IDisposable, System.Security.Cryptography.ICryptoTransform
public abstract class HashAlgorithm : IDisposable
public abstract class HashAlgorithm : System.Security.Cryptography.ICryptoTransform
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HashAlgorithm : System.Security.Cryptography.ICryptoTransform
type HashAlgorithm = class
    interface IDisposable
    interface ICryptoTransform
type HashAlgorithm = class
    interface IDisposable
type HashAlgorithm = class
    interface ICryptoTransform
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type HashAlgorithm = class
    interface ICryptoTransform
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type HashAlgorithm = class
    interface IDisposable
    interface ICryptoTransform
Public MustInherit Class HashAlgorithm
Implements ICryptoTransform, IDisposable
Public MustInherit Class HashAlgorithm
Implements IDisposable
Public MustInherit Class HashAlgorithm
Implements ICryptoTransform
Warisan
HashAlgorithm
Turunan
Atribut
Penerapan

Contoh

Contoh kode berikut menghitung SHA256 hash untuk array. Contoh ini mengasumsikan bahwa ada array dataArray[]byte yang telah ditentukan sebelumnya. SHA256 adalah kelas turunan dari HashAlgorithm.

HashAlgorithm^ sha = SHA256::Create();
array<Byte>^ result = sha->ComputeHash( dataArray );
HashAlgorithm sha = SHA256.Create();
byte[] result = sha.ComputeHash(dataArray);
Dim sha As SHA256 = SHA256.Create()
Dim result As Byte() = sha.ComputeHash(dataArray)

Keterangan

Fungsi hash sangat mendasar untuk kriptografi modern. Fungsi-fungsi ini memetakan string biner dengan panjang arbitrer ke string biner kecil dengan panjang tetap, yang dikenal sebagai nilai hash. Fungsi hash kriptografi memiliki properti yang secara komputasi tidak layak untuk menemukan dua input berbeda yang hash ke nilai yang sama. Fungsi hash umumnya digunakan dengan tanda tangan digital dan untuk integritas data.

Hash digunakan sebagai nilai unik dari ukuran tetap yang mewakili sejumlah besar data. Hash dua set data harus cocok jika data yang sesuai juga cocok. Perubahan kecil pada data menghasilkan perubahan besar yang tidak dapat diprediksi dalam hash.

Karena masalah tabrakan dengan SHA1, Microsoft merekomendasikan model keamanan berdasarkan SHA256 atau lebih baik.

Catatan Bagi Implementer

Ketika Anda mewarisi dari HashAlgorithm kelas , Anda harus mengambil alih anggota berikut: HashCore(Byte[], Int32, Int32) dan HashFinal().

Konstruktor

HashAlgorithm()

Menginisialisasi instans baru kelas HashAlgorithm.

Bidang

HashSizeValue

Mewakili ukuran, dalam bit, dari kode hash komputasi.

HashValue

Mewakili nilai kode hash komputasi.

State

Mewakili status komputasi hash.

Properti

CanReuseTransform

Mendapatkan nilai yang menunjukkan apakah transformasi saat ini dapat digunakan kembali.

CanTransformMultipleBlocks

Ketika ditimpa di kelas turunan, mendapatkan nilai yang menunjukkan apakah beberapa blok dapat diubah.

Hash

Mendapatkan nilai kode hash komputasi.

HashSize

Mendapatkan ukuran, dalam bit, dari kode hash komputasi.

InputBlockSize

Ketika ditimpa di kelas turunan, mendapatkan ukuran blok input.

OutputBlockSize

Ketika ditimpa di kelas turunan, mendapatkan ukuran blok output.

Metode

Clear()

Merilis semua sumber daya yang HashAlgorithm digunakan oleh kelas .

ComputeHash(Byte[])

Menghitung nilai hash untuk array byte yang ditentukan.

ComputeHash(Byte[], Int32, Int32)

Menghitung nilai hash untuk wilayah yang ditentukan dari array byte yang ditentukan.

ComputeHash(Stream)

Menghitung nilai hash untuk objek yang ditentukan Stream .

ComputeHashAsync(Stream, CancellationToken)

Secara asinkron menghitung nilai hash untuk objek yang ditentukan Stream .

Create()
Kedaluwarsa.
Kedaluwarsa.

Membuat instans implementasi default algoritma hash.

Create(String)
Kedaluwarsa.

Membuat instans implementasi algoritma hash yang ditentukan.

Dispose()

Merilis semua sumber daya yang digunakan oleh instans HashAlgorithm kelas saat ini.

Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh HashAlgorithm dan secara opsional merilis sumber daya terkelola.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
HashCore(Byte[], Int32, Int32)

Saat ditimpa di kelas turunan, merutekan data yang ditulis ke objek ke dalam algoritma hash untuk menghitung hash.

HashCore(ReadOnlySpan<Byte>)

Merutekan data yang ditulis ke objek ke dalam algoritma hash untuk menghitung hash.

HashFinal()

Ketika ditimpa di kelas turunan, menyelesaikan komputasi hash setelah data terakhir diproses oleh algoritma hash kriptografi.

Initialize()

Mengatur ulang algoritma hash ke status awalnya.

MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Menghitung nilai hash untuk wilayah yang ditentukan dari array byte input dan menyalin wilayah yang ditentukan dari array byte input ke wilayah yang ditentukan dari array byte output.

TransformFinalBlock(Byte[], Int32, Int32)

Menghitung nilai hash untuk wilayah yang ditentukan dari array byte yang ditentukan.

TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Mencoba menghitung nilai hash untuk array byte yang ditentukan.

TryHashFinal(Span<Byte>, Int32)

Upaya untuk menyelesaikan komputasi hash setelah data terakhir diproses oleh algoritma hash.

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

Merilis sumber daya tidak terkelola yang digunakan oleh HashAlgorithm dan secara opsional merilis sumber daya terkelola.

Berlaku untuk

Lihat juga