HashAlgorithm 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.
Ş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. |