MachineKeyValidation 列舉

定義

設定 ASP.NET 用於表單驗證及驗證檢視狀態資料,以及用於跨處理序工作階段狀態識別的雜湊演算法。

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

欄位

AES 3

指定 ASP.NET 使用 AES 加密演算法。 若要加密您 Web 應用程式中的檢視狀態,請選擇此選項。

若選擇此選項,DecryptionKey 屬性將用於加密及解密,而 HMACSHA1 雜湊演算法將搭配 ValidationKey 屬性使用以進行驗證。

Custom 7

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

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

HMACSHA256 4

指定 ASP.NET 使用 HMACSHA256 雜湊演算法,它是會產生 256 位元雜湊碼的 SHA2 雜湊演算法。 這是預設值。

HMACSHA384 5

指定 ASP.NET 使用 HMACSHA384 雜湊演算法,它是會產生 384 位元雜湊碼的 SHA2 雜湊演算法。 此選項適用於需要比 HMACSHA256 演算法提供之安全性更強之安全性的應用程式。

HMACSHA512 6

指定 ASP.NET 使用 HMACSHA512 雜湊演算法,它是會產生 512 位元雜湊碼的 SHA2 雜湊演算法。 此選項適用於需要比 >HMACSHA384 演算法提供之安全性更強之安全性的應用程式。

MD5 0

指定 ASP.NET 使用 Message Digest 5 (MD5) 雜湊演算法,它是會產生 128 位元雜湊值的雜湊演算法。 只有在需要與舊版 ASP.NET 之間的相容性時,才應該選取這個傳統值。

SHA1 1

指定 ASP.NET 使用 HMACSHA1 雜湊演算法,它是會產生 160 位元雜湊值的雜湊演算法。 只有在需要與舊版 ASP.NET 之間的相容性時,才應該選取這個傳統值。

TripleDES 2

指定 ASP.NET 使用 TripleDES (3DES) 加密演算法,它是只有在您指定將檢視狀態加密時才應該使用的加密演算法。 只有在需要與舊版 ASP.NET 之間的相容性時,才應該選取這個傳統值。

範例

下列程式碼範例示範如何使用 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。

適用於

另請參閱