现在的位置: 首页 > 综合 > 正文

如何创建自定义的MachineKey

2013年12月01日 ⁄ 综合 ⁄ 共 740字 ⁄ 字号 评论关闭
大家知道在ASP.net 2.0里面有一个配置文件Machine.conf文件,里面有一个<Machine Key>Section,他的作用主要是用来保护主机不受Cross-site攻击,保护每个不同的Domain之间的Cookie,Viewstate,一般我们可以让机器自动生成,但是如果你的主机使用的是WEB-FARM也就是说你的主机多个Domain使用一个程序,那么每台机器上的KEY会不一样,所以达不到加密的效果,我们使用确切的KEY来解决这个目的,但是我们自己生成的文件无法达到机器生成的效果,那么我们自己就来写一个函数解决:

Public Static String CreateMachineKey(int Length)

{

        //Create a byte array
        byte[] key = new byte[length / 2];
       
//Fill the key with Security bytes
        RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
        rng.GetBytes(key);
       
//
        System.Text.StringBuilder machineKey = new      System.Text.StringBuilder(length);
        for (int i = 0; i < key.Length;i++ )
        {
           
machineKey.Append(string.Format("{0:X2}",key[i]));
        }
        return machineKey.ToString();

}

抱歉!评论已关闭.