HashAlgorithm Osztály

Definíció

Azt az alaposztályt jelöli, amelyből a titkosítási kivonatoló algoritmusok összes implementációjának származnia kell.

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
Öröklődés
HashAlgorithm
Származtatott
Attribútumok
Megvalósítás

Példák

Az alábbi példakód egy tömb kivonatát számítja SHA256 ki. Ez a példa feltételezi, hogy van egy előre definiált bájttömb dataArray[]. SHA256egy származtatott osztálya.HashAlgorithm

HashAlgorithm sha = SHA256.Create();
byte[] result = sha.ComputeHash(dataArray);
Dim sha As SHA256 = SHA256.Create()
Dim result As Byte() = sha.ComputeHash(dataArray)

Megjegyzések

A kivonatfüggvények alapvető fontosságúak a modern titkosításhoz. Ezek a függvények tetszőleges hosszúságú bináris sztringeket képeznek le rögzített hosszúságú kis bináris sztringekre, más néven kivonatértékekre. A titkosítási kivonatoló függvény rendelkezik azzal a tulajdonságkal, amelyet számításilag nem lehet megtalálni két különböző bemenetet, amelyek ugyanahhoz az értékhez kivonatolnak. A kivonatfüggvényeket általában digitális aláírásokkal és adatintegritással használják.

A kivonatot a rendszer rögzített méretű egyedi értékként használja, amely nagy mennyiségű adatot jelöl. Két adathalmaz kivonatainak egyeznie kell, ha a megfelelő adatok is egyeznek. Az adatok kis módosítása nagy, előre nem látható változásokat eredményez a kivonatban.

Az SHA-1 ütközési problémái miatt a Microsoft az SHA-256-ra vagy annál jobbra épülő biztonsági modellt javasol.

Megjegyzések az implementálókhoz

Ha az HashAlgorithm osztálytól örököl, felül kell bírálnia a következő tagokat: HashCore(Byte[], Int32, Int32) és HashFinal().

Konstruktorok

Name Description
HashAlgorithm()

Inicializálja a HashAlgorithm osztály új példányát.

Mezők

Name Description
HashSizeValue

A kiszámított kivonatkód bitben megadott méretét jelöli.

HashValue

A kiszámított kivonatkód értékét jelöli.

State

A kivonatszámítás állapotát jelöli.

Tulajdonságok

Name Description
CanReuseTransform

Egy értéket kap, amely jelzi, hogy az aktuális átalakítás újra felhasználható-e.

CanTransformMultipleBlocks

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy több blokk is átalakítható-e.

Hash

Lekéri a kiszámított kivonatkód értékét.

HashSize

Bitekben lekéri a kiszámított kivonatkód méretét.

InputBlockSize

Ha felül van bírálva egy származtatott osztályban, lekéri a bemeneti blokk méretét.

OutputBlockSize

Ha felül van bírálva egy származtatott osztályban, lekéri a kimeneti blokk méretét.

Metódusok

Name Description
Clear()

Az osztály által HashAlgorithm használt összes erőforrást felszabadítja.

ComputeHash(Byte[], Int32, Int32)

Kiszámítja a megadott bájttömb megadott régiójának kivonatértékét.

ComputeHash(Byte[])

Kiszámítja a megadott bájttömb kivonatértékét.

ComputeHash(Stream)

Kiszámítja a megadott Stream objektum kivonatértékét.

ComputeHashAsync(Stream, CancellationToken)

Aszinkron módon kiszámítja a megadott Stream objektum kivonatértékét.

Create()
Elavult.
Elavult.

Létrehoz egy kivonatoló algoritmus alapértelmezett implementációjának egy példányát.

Create(String)
Elavult.

Létrehoz egy kivonatoló algoritmus megadott implementációjának egy példányát.

Dispose()

Az osztály aktuális példánya által használt összes erőforrást felszabadítja HashAlgorithm .

Dispose(Boolean)

Felszabadítja a felügyelt erőforrások által HashAlgorithm használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
HashCore(Byte[], Int32, Int32)

Ha egy származtatott osztályban felül van bírálva, az objektumba írt adatokat a kivonatolási algoritmusba irányítja.

HashCore(ReadOnlySpan<Byte>)

Átirányítja az objektumra írt adatokat a kivonatoló algoritmusba a kivonat kiszámításához.

HashFinal()

Ha egy származtatott osztályban felülbírálja, véglegesíti a kivonatszámítást, miután a titkosítási kivonatoló algoritmus feldolgozta az utolsó adatokat.

Initialize()

Alaphelyzetbe állítja a kivonatoló algoritmust a kezdeti állapotára.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Kiszámítja a bemeneti bájttömb megadott régiójának kivonatértékét, és átmásolja a bemeneti bájttömb megadott régióját a kimeneti bájttömb megadott régiójába.

TransformFinalBlock(Byte[], Int32, Int32)

Kiszámítja a megadott bájttömb megadott régiójának kivonatértékét.

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

Megkísérli kiszámítani a megadott bájttömb kivonatértékét.

TryHashFinal(Span<Byte>, Int32)

A kivonatszámítás véglegesítésére tett kísérletek, miután a kivonatoló algoritmus feldolgozta az utolsó adatokat.

Explicit interfész-implementációk

Name Description
IDisposable.Dispose()

Felszabadítja a felügyelt erőforrások által HashAlgorithm használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

A következőre érvényes:

Lásd még