Aracılığıyla paylaş


HashAlgorithm Sınıf

Tanım

Şifreleme karma algoritmalarının tüm uygulamalarının türetilmiş olması gereken temel sınıfı temsil eder.

public ref class HashAlgorithm abstract : IDisposable, System::Security::Cryptography::ICryptoTransform
public ref class HashAlgorithm abstract : IDisposable
public ref class HashAlgorithm abstract : System::Security::Cryptography::ICryptoTransform
public abstract class HashAlgorithm : IDisposable, System.Security.Cryptography.ICryptoTransform
public abstract class HashAlgorithm : IDisposable
public abstract class HashAlgorithm : System.Security.Cryptography.ICryptoTransform
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HashAlgorithm : System.Security.Cryptography.ICryptoTransform
type HashAlgorithm = class
    interface IDisposable
    interface ICryptoTransform
type HashAlgorithm = class
    interface IDisposable
type HashAlgorithm = class
    interface ICryptoTransform
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type HashAlgorithm = class
    interface ICryptoTransform
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type HashAlgorithm = class
    interface IDisposable
    interface ICryptoTransform
Public MustInherit Class HashAlgorithm
Implements ICryptoTransform, IDisposable
Public MustInherit Class HashAlgorithm
Implements IDisposable
Public MustInherit Class HashAlgorithm
Implements ICryptoTransform
Devralma
HashAlgorithm
Türetilmiş
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği bir dizi için karma değerini SHA256 hesaplar. Bu örnekte önceden tanımlanmış bir bayt dizisi dataArray[]olduğu varsayılır. SHA256 , türetilmiş bir sınıfıdır HashAlgorithm.

HashAlgorithm^ sha = SHA256::Create();
array<Byte>^ result = sha->ComputeHash( dataArray );
HashAlgorithm sha = SHA256.Create();
byte[] result = sha.ComputeHash(dataArray);
Dim sha As SHA256 = SHA256.Create()
Dim result As Byte() = sha.ComputeHash(dataArray)

Açıklamalar

Karma işlevler modern şifreleme için temeldir. Bu işlevler rastgele uzunluktaki ikili dizeleri, karma değerler olarak bilinen sabit uzunluktaki küçük ikili dizelerle eşler. Şifreleme karma işlevi, aynı değere karma oluşturan iki ayrı girişi bulmak için işlem açısından mümkün olmayan bir özelliğe sahiptir. Karma işlevler genellikle dijital imzalarla ve veri bütünlüğü için kullanılır.

Karma, büyük miktarda veriyi temsil eden sabit boyutlu benzersiz bir değer olarak kullanılır. İlgili veriler de eşleşiyorsa iki veri kümesinin karmaları eşleşmelidir. Verilerde yapılan küçük değişiklikler karmada öngörülemeyen büyük değişikliklerle sonuçlanabilir.

SHA1 ile ilgili çakışma sorunları nedeniyle Microsoft, SHA256 veya üzerini temel alan bir güvenlik modeli önerir.

Uygulayanlara Notlar

sınıfından HashAlgorithm devraldığınızda, aşağıdaki üyeleri geçersiz kılmanız gerekir: HashCore(Byte[], Int32, Int32) ve HashFinal().

Oluşturucular

HashAlgorithm()

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

Alanlar

HashSizeValue

Hesaplanan karma kodun bit cinsinden boyutunu temsil eder.

HashValue

Hesaplanan karma kodun değerini temsil eder.

State

Karma hesaplamanın durumunu temsil eder.

Özellikler

CanReuseTransform

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

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.

Hash

Hesaplanan karma kodun değerini alır.

HashSize

Hesaplanan karma kodun bit cinsinden boyutunu alır.

InputBlockSize

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

OutputBlockSize

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

Yöntemler

Clear()

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

ComputeHash(Byte[])

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

ComputeHash(Byte[], Int32, Int32)

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

ComputeHash(Stream)

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

ComputeHashAsync(Stream, CancellationToken)

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

Create()
Geçersiz.
Geçersiz.

Karma algoritmasının varsayılan uygulamasının bir örneğini oluşturur.

Create(String)
Geçersiz.

Bir karma algoritmasının 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.

Dispose(Boolean)

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.

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 karmayı hesaplamaya yönelik karma algoritmasına yönlendirir.

HashCore(ReadOnlySpan<Byte>)

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

HashFinal()

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

Initialize()

Karma algoritmayı başlangıç durumuna sıfırlar.

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.

TransformFinalBlock(Byte[], Int32, Int32)

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

TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

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

TryHashFinal(Span<Byte>, Int32)

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

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.

Şunlara uygulanır

Ayrıca bkz.