HMAC Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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) |