HashAlgorithm Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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. |