HashAlgorithm 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表基底類別,密碼編譯雜湊演算法的所有實作必須從它衍生。
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
- 繼承
-
HashAlgorithm
- 衍生
- 屬性
- 實作
範例
下列程式代碼範例會 SHA256 計算數位列的哈希。 這個範例假設有預先定義的位元組數組 dataArray[]
。
SHA256 是的 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)
備註
哈希函式是新式密碼編譯的基礎。 這些函式會將任意長度的二進位字串對應至固定長度的小二進位字串,稱為哈希值。 密碼編譯哈希函式具有無法計算的 屬性,可尋找哈希至相同值的兩個不同輸入。 雜湊函式經常被用於數位簽章與資料完整性用途。
哈希是用來做為代表大量數據之固定大小的唯一值。 如果對應的數據也相符,則兩組數據集的哈希應該相符。 對數據的小型變更會導致哈希中發生大量無法預測的變更。
由於 SHA1 的衝突問題,Microsoft 建議您使用以 SHA256 或更好的加密方式為基礎的安全性模型。
給實施者的注意事項
當您繼承自 HashAlgorithm 類別時,必須覆寫下列成員: HashCore(Byte[], Int32, Int32) 和 HashFinal()。
建構函式
HashAlgorithm() |
初始化 HashAlgorithm 類別的新執行個體。 |
欄位
HashSizeValue |
代表計算出來之雜湊碼的大小,以位元為單位。 |
HashValue |
表示計算出來的雜湊碼的值。 |
State |
表示雜湊計算的狀態。 |
屬性
CanReuseTransform |
取得值,表示目前的轉換是否可重複使用。 |
CanTransformMultipleBlocks |
在衍生類別中覆寫時,取得值以指出是否有多個區塊可被轉換。 |
Hash |
取得計算出來之雜湊碼的值。 |
HashSize |
取得計算出來之雜湊碼的大小,以位元為單位。 |
InputBlockSize |
在衍生類別中覆寫時,取得輸入區塊的大小。 |
OutputBlockSize |
在衍生類別中覆寫時,取得輸出區塊的大小。 |
方法
明確介面實作
IDisposable.Dispose() |
釋放 HashAlgorithm 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。 |