HashAlgorithm Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |