Aracılığıyla paylaş


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ğeri yeniden hesaplar ve hesaplanan karma değerinin iletilen karma değerle eşleşip eşleşmediğini denetler.

HMAC, MD5 veya SHA-1 gibi yinelemeli şifreleme karma işlevleriyle gizli bir paylaşılan anahtarla birlikte 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ık ile sonuçlanır. Bu nedenle, özgün ve hesaplanan karma değerleri eşleşirse 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

HMAC()

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

Alanlar

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

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 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

Clear()

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

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

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

(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(Stream)

Belirtilen Stream nesne için karma değeri hesaplar.

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

Belirtilen Stream nesne için karma değeri 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()

HashAlgorithm sınıfının geçerli örneği 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()

Type Geçerli örneğini 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.

HashCore(ReadOnlySpan<Byte>)

Nesneye yazılan verileri karmayı hesaplamaya yönelik karma algoritmasına yönlendirir.

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

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

Initialize()

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

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

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

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

Giriş bayt dizisinin belirtilen bölgesi için karma değerini 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.

TryHashFinal(Span<Byte>, Int32)

Karma algoritması tarafından son veriler işlendikten sonra karma hesaplamayı sonlandırmaya çalışır.

(Devralındığı yer: HashAlgorithm)

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

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

(Devralındığı yer: HashAlgorithm)

Şunlara uygulanır

Ayrıca bkz.