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