共用方式為


MachineKeyValidation 列舉

定義

指定 ASP.NET 用於窗體驗證和驗證檢視狀態數據的哈希演算法,以及用於跨進程會話狀態識別。

public enum class MachineKeyValidation
public enum MachineKeyValidation
type MachineKeyValidation = 
Public Enum MachineKeyValidation
繼承
MachineKeyValidation

欄位

名稱 Description
MD5 0

規定 ASP.NET 使用Message Digest 5MD5()雜湊演算法,這是一種產生128位元雜湊值的雜湊演算法。 這是一個遺留值,僅在需要與早期版本的 ASP.NET 相容時才應選擇。

SHA1 1

指定 ASP.NET 使用 HMACSHA1 雜湊演算法,這是一種產生 160 位元雜湊值的雜湊演算法。 這是一個遺留值,僅在需要與早期版本的 ASP.NET 相容時才應選擇。

TripleDES 2

指定 ASP.NET 使用 TripleDES (3DES) 加密演算法,該加密演算法僅在指定該視圖狀態為加密時使用。 這是一個遺留值,僅在需要與早期版本的 ASP.NET 相容時才應選擇。

AES 3

指定 ASP.NET 使用 AES 加密演算法。 如果你想在網頁應用程式中加密檢視狀態,請選擇此選項。

如果你選擇這個選項,該 DecryptionKey 屬性將用於加密與解密,而 HMACSHA1 雜湊演算法則會與該 ValidationKey 性質一同用於驗證。

HMACSHA256 4

規定 ASP.NET 使用 HMACSHA256 雜湊演算法,這是一種 SHA2 雜湊演算法,能產生 256 位元雜湊碼。 這是預設值。

HMACSHA384 5

指定 ASP.NET 使用 HMACSHA384 雜湊演算法,這是一種 SHA2 雜湊演算法,能產生 384 位元雜湊碼。 此選項適用於需要比演算法更 HMACSHA256 強安全性的應用。

HMACSHA512 6

規定 ASP.NET 使用 HMACSHA512 雜湊演算法,這是一種 SHA2 雜湊演算法,能產生 512 位元雜湊碼。 此選項適用於需要比演算法更 >HMACSHA384 強安全性的應用。

Custom 7

規定 ASP.NET 使用自訂雜湊演算法。 自訂雜湊演算法可在任何由 KeyedHashAlgorithm衍生的類別中實作。

自訂演算法通常以宣告式 validation 方式在 machineKey 元素的屬性中指定,格式為 alg:`*algorithm_name*。 關於如何在程式碼中指定自訂演算法的資訊,請參閱屬性。ValidationAlgorithm

範例

以下程式碼範例說明如何使用列舉。MachineKeyValidation 在範例中, configSection 是 的 MachineKeySection實例。 此程式碼範例是本類別更大範例 MachineKeySection 的一部分。

// Set Validation property.
configSection.Validation = MachineKeyValidation.HMACSHA256;
' Set Validation value.
configSection.Validation = MachineKeyValidation.HMACSHA256

備註

ASP.NET 使用基於雜湊的訊息認證碼(HMAC)來協助偵測用於表單認證或檢視狀態的資料是否被竄改。 當瀏覽狀態內容建立時會產生 HMAC,並在後續請求時檢查 HMAC。 HMAC 協助 ASP.NET 判斷是否有人更改了伺服器與客戶端之間傳送的資料,但除非資料同時加密,否則任何人都能在網路上讀取。 預設情況下,檢視狀態會被驗證但未加密。 如需詳細資訊,請參閱 ViewStateEncryptionModeRegisterRequiresViewStateEncryption

MachineKeyValidation列舉讓你可以指定 ASP.NET 用來建立 HMAC 的演算法。 預設值為 HMACSHA256。 ASP.NET 利用所選演算法的 ValidationKey 屬性值來產生 HMAC。

適用於

另請參閱