MD5 類別

定義

表示抽象類別 (Abstract Class),MD5 雜湊演算法的所有實作 (Implementation) 從它繼承。

public ref class MD5 abstract : System::Security::Cryptography::HashAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class MD5 : System.Security.Cryptography.HashAlgorithm
public abstract class MD5 : System.Security.Cryptography.HashAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class MD5 : System.Security.Cryptography.HashAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type MD5 = class
    inherit HashAlgorithm
type MD5 = class
    inherit HashAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type MD5 = class
    inherit HashAlgorithm
Public MustInherit Class MD5
Inherits HashAlgorithm
繼承
衍生
屬性

備註

雜湊函式會將任意長度的二進位字串對應至固定長度的小型二進位字串。 密碼編譯雜湊函式具有無法計算的 屬性,可尋找兩個雜湊為相同值的不同輸入;也就是說,如果對應的資料也相符,則兩組資料集的雜湊應該相符。 資料的小變更會導致雜湊中發生大型、無法預測的變更。

演算法的 MD5 雜湊大小為 128 位。

類別 ComputeHash 的方法 MD5 會將雜湊傳回為 16 個位元組的陣列。 請注意,某些 MD5 實作會產生 32 個字元的十六進位格式雜湊。 若要與這類實作交互操作,請將方法的 ComputeHash 傳回值格式化為十六進位值。

注意

由於 MD5/SHA1 發生衝突問題,Microsoft 建議使用 SHA256 或 SHA512。 請考慮使用 SHA256 類別或 類別, SHA512 而不是 類別 MD5 。 僅用於 MD5 與繼承應用程式和資料的相容性。

建構函式

MD5()

初始化 MD5 的新執行個體。

欄位

HashSizeInBits

MD5 演算法所產生的雜湊大小,以位為單位。

HashSizeInBytes

MD5 演算法所產生的雜湊大小,以位元組為單位。

HashSizeValue

代表計算出來之雜湊碼的大小,以位元為單位。

(繼承來源 HashAlgorithm)
HashValue

表示計算出來的雜湊碼的值。

(繼承來源 HashAlgorithm)
State

表示雜湊計算的狀態。

(繼承來源 HashAlgorithm)

屬性

CanReuseTransform

取得值,表示目前的轉換是否可重複使用。

(繼承來源 HashAlgorithm)
CanTransformMultipleBlocks

在衍生類別中覆寫時,取得值以指出是否有多個區塊可被轉換。

(繼承來源 HashAlgorithm)
Hash

取得計算出來之雜湊碼的值。

(繼承來源 HashAlgorithm)
HashSize

取得計算出來之雜湊碼的大小,以位元為單位。

(繼承來源 HashAlgorithm)
InputBlockSize

在衍生類別中覆寫時,取得輸入區塊的大小。

(繼承來源 HashAlgorithm)
OutputBlockSize

在衍生類別中覆寫時,取得輸出區塊的大小。

(繼承來源 HashAlgorithm)

方法

Clear()

釋放 HashAlgorithm 類別所使用的所有資源。

(繼承來源 HashAlgorithm)
ComputeHash(Byte[])

計算指定位元組陣列的雜湊值。

(繼承來源 HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

計算所指定位元組陣列中指定區域的雜湊值。

(繼承來源 HashAlgorithm)
ComputeHash(Stream)

計算指定 Stream 物件的雜湊值。

(繼承來源 HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

以非同步方式計算指定 Stream 物件的雜湊值。

(繼承來源 HashAlgorithm)
Create()

建立 MD5 雜湊演算法之預設實作的執行個體。

Create(String)

建立 MD5 雜湊演算法之指定實作的執行個體。

Dispose()

釋放 HashAlgorithm 類別目前的執行個體所使用的全部資源。

(繼承來源 HashAlgorithm)
Dispose(Boolean)

釋放 HashAlgorithm 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 HashAlgorithm)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
HashCore(Byte[], Int32, Int32)

在衍生類別中覆寫時,將寫入物件的資料轉遞到用來計算雜湊的雜湊演算法。

(繼承來源 HashAlgorithm)
HashCore(ReadOnlySpan<Byte>)

將寫入物件的資料路由傳送至雜湊演算法,以用來計算雜湊。

(繼承來源 HashAlgorithm)
HashData(Byte[])

使用 MD5 演算法計算資料的雜湊。

HashData(ReadOnlySpan<Byte>)

使用 MD5 演算法計算資料的雜湊。

HashData(ReadOnlySpan<Byte>, Span<Byte>)

使用 MD5 演算法計算資料的雜湊。

HashData(Stream)

使用 MD5 演算法計算資料流程的雜湊。

HashData(Stream, Span<Byte>)

使用 MD5 演算法計算資料流程的雜湊。

HashDataAsync(Stream, CancellationToken)

使用 MD5 演算法以非同步方式計算資料流程的雜湊。

HashDataAsync(Stream, Memory<Byte>, CancellationToken)

使用 MD5 演算法以非同步方式計算資料流程的雜湊。

HashFinal()

於衍生類型中覆寫時,在密碼編譯雜湊演算法處理最後一筆資料後,完成雜湊計算。

(繼承來源 HashAlgorithm)
Initialize()

將雜湊演算法重設為其初始狀態。

(繼承來源 HashAlgorithm)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

計算輸入位元組陣列中指定區域的雜湊值,並將指定的輸入位元組陣列區域複製到指定的輸出位元組陣列區域。

(繼承來源 HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)

計算所指定位元組陣列中指定區域的雜湊值。

(繼承來源 HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

嘗試計算指定位元組陣列的雜湊值。

(繼承來源 HashAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, Int32)

嘗試使用 MD5 演算法計算資料的雜湊。

TryHashFinal(Span<Byte>, Int32)

在雜湊演算法處理最後一筆資料之後,嘗試完成雜湊計算。

(繼承來源 HashAlgorithm)

明確介面實作

IDisposable.Dispose()

釋放 HashAlgorithm 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 HashAlgorithm)

適用於

另請參閱