自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET machineKey的作用和使用方法

開發(fā) 后端
Asp.Net的很多加密,都是依賴于machineKey里面的值,例如Forms 身份驗證 Cookie、ViewState的加密。本文介紹如何設(shè)置ASP.NET machineKey。

ASP.NET machineKey的作用

如果你的Asp.Net程序執(zhí)行時碰到這種錯誤:“驗證視圖狀態(tài) MAC 失敗。如果此應(yīng)用程序由網(wǎng)絡(luò)場或群集承載,請確保 <machineKey> 配置指定了相同的 validationKey 和驗證算法。不能在群集中使用 AutoGenerate?!蹦敲凑f明你沒有讓你的應(yīng)用程序使用統(tǒng)一的machineKey,那么machineKey的作用是什么呢?按照MSDN的標(biāo)準(zhǔn)說法:“對密鑰進行配置,以便將其用于對 Forms 身份驗證 Cookie 數(shù)據(jù)和視圖狀態(tài)數(shù)據(jù)進行加密和解密,并將其用于對進程外會話狀態(tài)標(biāo)識進行驗證?!币簿褪钦fAsp.Net的很多加密,都是依賴于machineKey里面的值,例如Forms 身份驗證 Cookie、ViewState的加密。默認(rèn)情況下,Asp.Net的配置是自己動態(tài)生成,如果單臺服務(wù)器當(dāng)然沒問題,但是如果多臺服務(wù)器負(fù)載均衡,machineKey還采用動態(tài)生成的方式,每臺服務(wù)器上的machinekey值不一致,就導(dǎo)致加密出來的結(jié)果也不一致,不能共享驗證和ViewState,所以對于多臺服務(wù)器負(fù)載均衡的情況,一定要在每臺站點配置相同的machineKey。

ASP.NET machineKey生成的算法:

  1. validationKey = CreateKey(20);  
  2.  
  3. decryptionKey = CreateKey(24);  
  4.  
  5.       protected string CreateKey(int len)  
  6.  
  7.       {  
  8.  
  9.              byte[] bytes = new byte[len];  
  10.  
  11.              new RNGCryptoServiceProvider().GetBytes(bytes);  
  12.  
  13.                StringBuilder sb = new StringBuilder();  
  14.  
  15.                for(int i = 0; i < bytes.Length; i++)  
  16.  
  17.                {      
  18.  
  19.                     sb.Append(string.Format("{0:X2}",bytes[i]));  
  20.  
  21.                }  
  22.  
  23.                return sb.ToString();  
  24.  
  25.       }  
  26.  

附參考的ASP.NET machineKey配置:

  1. <?xml version="1.0"?> 
  2.  
  3. <configuration> 
  4.  
  5.    <system.web> 
  6.  
  7.      <machineKey validationKey="3FF1E929BC0534950B0920A7B59FA698BD02DFE8" decryptionKey="280450BB36319B474C996B506A95AEDF9B51211B1D2B7A77" decryption="3DES" validation="SHA1"/> 
  8.  
  9.       </system.web> 
  10.  
  11. </configuration> 
  12.  

【編輯推薦】

  1. .NET框架解決DLL Hell問題:問題描述
  2. ASP.NET MVC單元測試:HttpContext類的Path屬性解惑
  3. 自定義的ControllerFactory:接口實現(xiàn),支持Area
  4. ASP.NET Routing之“解析URL”功能詳解
  5. 為ASP.NET MVC應(yīng)用添加自定義路由
責(zé)任編輯:yangsai 來源: 百度空間
相關(guān)推薦

2009-07-22 15:02:02

ASP.NET MVC

2009-08-24 16:56:26

ASP.NET Log

2009-07-28 13:26:34

Render方法ASP.NET

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-07-29 16:08:07

ASP和ASP.NET

2009-07-22 09:36:54

使用UpdataModASP.NET MVC

2009-08-03 14:39:25

Asp.Net函數(shù)集

2009-07-27 10:12:37

GridView和Ob

2011-06-08 11:05:38

getpost

2009-07-22 18:03:00

ASP.NET ASP

2009-07-27 14:46:16

XML和ASP.NET

2009-07-20 16:04:37

ASP.NET fra

2009-07-22 09:11:02

Action方法ASP.NET MVC

2009-07-29 14:12:45

ASP.NET tra

2009-07-24 15:35:00

ASP.NET Gri

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-23 15:44:39

ASP.NET MVC

2009-07-27 09:45:14

ASP.NET Dro

2009-07-23 15:11:43

XML Web服務(wù)方法ASP.NET
點贊
收藏

51CTO技術(shù)棧公眾號