如果我在machine.config的machineKey部分中将DecryptionKey和ValidationKey设置为AutoGenerate,那么我如何从.NET中查找已经创建的实际生成的密钥?如何访问asp.net中的自动生成验证和解密密钥?
我们希望使用相同的密钥来加密和验证我们自己的cookie。
感激地收到任何线索/提示。
如果我在machine.config的machineKey部分中将DecryptionKey和ValidationKey设置为AutoGenerate,那么我如何从.NET中查找已经创建的实际生成的密钥?如何访问asp.net中的自动生成验证和解密密钥?
我们希望使用相同的密钥来加密和验证我们自己的cookie。
感激地收到任何线索/提示。
我知道这并不回答你的问题,但加密和验证你自己的Cookie,你不需要知道DecryptionKey和ValidationKey的实际值。只需使用Encrypt和Decrypt方法:
var ticket = new FormsAuthenticationTicket(
1,
"username",
DateTime.Now,
DateTime.Now.AddMinutes(10),
false,
"some user data");
string encryptedTicked = FormsAuthentication.Encrypt(ticket);
// TODO: use the encrypted ticket in a cookie
使用自动生成只会导致你悲伤,你,或者说你的用户,将太经常遇到例外。在数据加密和解密时间之间,密钥可以更改(通过应用程序池回收重新启动应用程序,触及Web.config等)。
感谢 - 它的一个想法,将意味着一些额外的工作(因为我们跨越到多个饼干),但它可能是可能的 – jamie 2009-11-18 18:05:59