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 karmayı 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();
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 bulmanın işlem açısından mümkün olmayan özelliğine 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 boyutta 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çlanır.

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

Uygulayanlara Notlar

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

Oluşturucular

Name Description
HashAlgorithm()

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

Alanlar

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

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

Name Description
Clear()

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

ComputeHash(Byte[], Int32, Int32)

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

ComputeHash(Byte[])

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

ComputeHash(Stream)

Belirtilen Stream nesnenin karma değerini hesaplar.

ComputeHashAsync(Stream, CancellationToken)

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

Create()
Geçersiz.
Geçersiz.

Karma algoritmanı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()

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

Dispose(Boolean)

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.

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, nesnesine 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 algoritmasını ilk durumuna sıfırlar.

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.

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ı

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.

Şunlara uygulanır

Ayrıca bkz.