HMAC Sınıf

Tanım

Karma Tabanlı İleti Kimlik Doğrulama Kodu'nun (HMAC) tüm uygulamalarının türetilmiş olması gereken soyut sınıfı temsil eder.

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
Devralma
Türetilmiş
Öznitelikler

Açıklamalar

Güvenli olmayan bir kanal üzerinden gönderilen iletide, gönderenin ve alıcının gizli anahtar paylaşması koşuluyla üzerinde oynanıp oynanmadığını belirlemek için Karma Tabanlı İleti Kimlik Doğrulama Kodu (HMAC) kullanılabilir. Gönderen, özgün verilerin karma değerini hesaplar ve hem özgün verileri hem de HMAC'yi tek bir ileti olarak gönderir. Alıcı, alınan iletideki karma değerini yeniden derler ve hesaplanan karma değerinin iletilen karma değerle eşleşip eşleşmediğini denetler.

HMAC, gizli bir paylaşılan anahtarla birlikte MD5 veya SHA-1 gibi yinelemeli şifreleme karma işlevleriyle kullanılabilir. HMAC'nin şifreleme gücü, temel alınan karma işlevinin özelliklerine bağlıdır.

İletiyi değiştirmek ve doğru karma değeri yeniden oluşturmak için gizli anahtar bilgisi gerektiğinden, verilerde veya karma değerde yapılan herhangi bir değişiklik uyuşmazlıkla sonuçlanır. Bu nedenle, özgün ve hesaplanan karma değerleri eşleşiyorsa iletinin kimliği doğrulanır.

MD5 ve SHA-1 ile ilgili çakışma sorunları nedeniyle Microsoft, SHA-256 veya üzerini temel alan bir güvenlik modeli önerir.

Oluşturucular

Name Description
HMAC()

HMAC sınıfının yeni bir örneğini başlatır.

Alanlar

Name Description
HashSizeValue

Hesaplanan karma kodun bit cinsinden boyutunu temsil eder.

(Devralındığı yer: HashAlgorithm)
HashValue

Hesaplanan karma kodun değerini temsil eder.

(Devralındığı yer: HashAlgorithm)
KeyValue

Karma algoritmada kullanılacak anahtar.

(Devralındığı yer: KeyedHashAlgorithm)
State

Karma hesaplamanın durumunu temsil eder.

(Devralındığı yer: HashAlgorithm)

Özellikler

Name Description
BlockSizeValue

Karma değerde kullanılacak blok boyutunu alır veya ayarlar.

CanReuseTransform

Geçerli dönüşümün yeniden kullanılıp kullanılamayacağını belirten bir değer alır.

(Devralındığı yer: HashAlgorithm)
CanTransformMultipleBlocks

Türetilmiş bir sınıfta geçersiz kılındığında, birden çok bloğun dönüştürülüp dönüştürülemeyeceğini belirten bir değer alır.

(Devralındığı yer: HashAlgorithm)
Hash

Hesaplanan karma kodun değerini alır.

(Devralındığı yer: HashAlgorithm)
HashName

Karma oluşturma için kullanılacak karma algoritmasının adını alır veya ayarlar.

HashSize

Hesaplanan karma kodun bit cinsinden boyutunu alır.

(Devralındığı yer: HashAlgorithm)
InputBlockSize

Türetilmiş bir sınıfta geçersiz kılındığında, giriş bloğu boyutunu alır.

(Devralındığı yer: HashAlgorithm)
Key

HMAC hesaplamasında kullanılacak anahtarı alır veya ayarlar.

OutputBlockSize

Türetilmiş bir sınıfta geçersiz kılındığında çıkış bloğu boyutunu alır.

(Devralındığı yer: HashAlgorithm)

Yöntemler

Name Description
Clear()

sınıfı tarafından HashAlgorithm kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

Belirtilen bayt dizisinin belirtilen bölgesi için karma değeri hesaplar.

(Devralındığı yer: HashAlgorithm)
ComputeHash(Byte[])

Belirtilen bayt dizisi için karma değeri hesaplar.

(Devralındığı yer: HashAlgorithm)
ComputeHash(Stream)

Belirtilen Stream nesnenin karma değerini hesaplar.

(Devralındığı yer: HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

Belirtilen Stream nesnenin karma değerini zaman uyumsuz olarak hesaplar.

(Devralındığı yer: HashAlgorithm)
Create()
Geçersiz.
Geçersiz.

Karma Tabanlı İleti Kimlik Doğrulama Kodunun (HMAC) varsayılan uygulamasının bir örneğini oluşturur.

Create(String)
Geçersiz.

Karma Tabanlı İleti Kimlik Doğrulama Kodunun (HMAC) belirtilen uygulamasının bir örneğini oluşturur.

Dispose()

Sınıfın geçerli örneği HashAlgorithm tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: HashAlgorithm)
Dispose(Boolean)

Bir anahtar değişikliği meşru olduğunda ve isteğe bağlı olarak yönetilen kaynakları serbest bıraktığında sınıfı tarafından HMAC kullanılan yönetilmeyen kaynakları serbest bırakır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
HashCore(Byte[], Int32, Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, nesneye yazılan verileri HMAC değerini hesaplamaya yönelik HMAC algoritmasına yönlendirir.

HashCore(ReadOnlySpan<Byte>)

Nesneye yazılan verileri HMAC'yi hesaplamaya yönelik HMAC algoritmasına yönlendirir.

HashFinal()

Türetilmiş bir sınıfta geçersiz kılındığında, son veriler algoritma tarafından işlendikten sonra HMAC hesaplamasını son haline getirin.

Initialize()

varsayılan uygulamasının bir örneğini HMACbaşlatır.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Giriş bayt dizisinin belirtilen bölgesi için karma değeri hesaplar ve giriş bayt dizisinin belirtilen bölgesini çıkış bayt dizisinin belirtilen bölgesine kopyalar.

(Devralındığı yer: HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)

Belirtilen bayt dizisinin belirtilen bölgesi için karma değeri hesaplar.

(Devralındığı yer: HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Belirtilen bayt dizisi için karma değeri hesaplamaya çalışır.

(Devralındığı yer: HashAlgorithm)
TryHashFinal(Span<Byte>, Int32)

Son veriler HMAC algoritması tarafından işlendikten sonra HMAC hesaplamasını sonlandırmaya çalışır.

Belirtik Arabirim Kullanımları

Name Description
IDisposable.Dispose()

tarafından HashAlgorithm kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

(Devralındığı yer: HashAlgorithm)

Şunlara uygulanır

Ayrıca bkz.