Bagikan melalui


HMAC Kelas

Definisi

Mewakili kelas abstrak dari mana semua implementasi Kode Autentikasi Pesan berbasis Hash (HMAC) harus berasal.

public ref class HMAC abstract : System::Security::Cryptography::KeyedHashAlgorithm
public abstract class HMAC : System.Security.Cryptography.KeyedHashAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HMAC : System.Security.Cryptography.KeyedHashAlgorithm
type HMAC = class
    inherit KeyedHashAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMAC = class
    inherit KeyedHashAlgorithm
Public MustInherit Class HMAC
Inherits KeyedHashAlgorithm
Warisan
Turunan
Atribut

Keterangan

Kode Autentikasi Pesan berbasis Hash (HMAC) dapat digunakan untuk menentukan apakah pesan yang dikirim melalui saluran yang tidak aman telah diubah, asalkan pengirim dan penerima berbagi kunci rahasia. Pengirim menghitung nilai hash untuk data asli dan mengirim data asli dan HMAC sebagai satu pesan. Penerima mengolah ulang nilai hash pada pesan yang diterima dan memeriksa apakah nilai hash yang dihitung cocok dengan nilai hash yang dikirimkan.

HMAC dapat digunakan dengan fungsi hash kriptografi berulang apa pun, seperti MD5 atau SHA-1, dalam kombinasi dengan kunci bersama rahasia. Kekuatan kriptografi HMAC tergantung pada properti fungsi hash yang mendasar.

Setiap perubahan pada data atau nilai hash menghasilkan ketidakcocokan, karena pengetahuan tentang kunci rahasia diperlukan untuk mengubah pesan dan mereproduksi nilai hash yang benar. Oleh karena itu, jika nilai hash asli dan komputasi cocok, pesan diautentikasi.

Karena masalah tabrakan dengan MD5 dan SHA-1, Microsoft merekomendasikan model keamanan berdasarkan SHA-256 atau yang lebih baik.

Konstruktor

HMAC()

Menginisialisasi instans baru kelas HMAC.

Bidang

HashSizeValue

Mewakili ukuran, dalam bit, dari kode hash komputasi.

(Diperoleh dari HashAlgorithm)
HashValue

Mewakili nilai kode hash komputasi.

(Diperoleh dari HashAlgorithm)
KeyValue

Kunci yang digunakan dalam algoritma hash.

(Diperoleh dari KeyedHashAlgorithm)
State

Mewakili status komputasi hash.

(Diperoleh dari HashAlgorithm)

Properti

BlockSizeValue

Mendapatkan atau mengatur ukuran blok yang akan digunakan dalam nilai hash.

CanReuseTransform

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

(Diperoleh dari HashAlgorithm)
CanTransformMultipleBlocks

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

(Diperoleh dari HashAlgorithm)
Hash

Mendapatkan nilai kode hash komputasi.

(Diperoleh dari HashAlgorithm)
HashName

Mendapatkan atau menetapkan nama algoritma hash yang akan digunakan untuk hashing.

HashSize

Mendapatkan ukuran, dalam bit, dari kode hash komputasi.

(Diperoleh dari HashAlgorithm)
InputBlockSize

Ketika ditimpa di kelas turunan, mendapatkan ukuran blok input.

(Diperoleh dari HashAlgorithm)
Key

Mendapatkan atau mengatur kunci yang akan digunakan dalam perhitungan HMAC.

OutputBlockSize

Ketika ditimpa di kelas turunan, mendapatkan ukuran blok output.

(Diperoleh dari HashAlgorithm)

Metode

Clear()

Merilis semua sumber daya yang HashAlgorithm digunakan oleh kelas .

(Diperoleh dari HashAlgorithm)
ComputeHash(Byte[])

Menghitung nilai hash untuk array byte yang ditentukan.

(Diperoleh dari HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

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

(Diperoleh dari HashAlgorithm)
ComputeHash(Stream)

Menghitung nilai hash untuk objek yang ditentukan Stream .

(Diperoleh dari HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

Secara asinkron menghitung nilai hash untuk objek yang ditentukan Stream .

(Diperoleh dari HashAlgorithm)
Create()
Kedaluwarsa.
Kedaluwarsa.

Membuat instans implementasi default Kode Autentikasi Pesan (HMAC) berbasis Hash.

Create(String)
Kedaluwarsa.

Membuat instans implementasi yang ditentukan dari Kode Autentikasi Pesan (HMAC) berbasis Hash.

Dispose()

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

(Diperoleh dari HashAlgorithm)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh HMAC kelas ketika perubahan kunci sah 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 HMAC untuk menghitung nilai HMAC.

HashCore(ReadOnlySpan<Byte>)

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

HashCore(ReadOnlySpan<Byte>)

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

(Diperoleh dari HashAlgorithm)
HashFinal()

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

Initialize()

Menginisialisasi instans implementasi HMACdefault .

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.

(Diperoleh dari HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)

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

(Diperoleh dari HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Mencoba menghitung nilai hash untuk array byte yang ditentukan.

(Diperoleh dari HashAlgorithm)
TryHashFinal(Span<Byte>, Int32)

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

TryHashFinal(Span<Byte>, Int32)

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

(Diperoleh dari HashAlgorithm)

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

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

(Diperoleh dari HashAlgorithm)

Berlaku untuk

Lihat juga