2009-11-18 45 views
0

如果我在machine.config的machineKey部分中将DecryptionKey和ValidationKey设置为AutoGenerate,那么我如何从.NET中查找已经创建的实际生成的密钥?如何访问asp.net中的自动生成验证和解密密钥?

我们希望使用相同的密钥来加密和验证我们自己的cookie。

感激地收到任何线索/提示。

回答

0

我知道这并不回答你的问题,但加密和验证你自己的Cookie,你不需要知道DecryptionKey和ValidationKey的实际值。只需使用EncryptDecrypt方法:

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 
+0

感谢 - 它的一个想法,将意味着一些额外的工作(因为我们跨越到多个饼干),但它可能是可能的 – jamie 2009-11-18 18:05:59

0

使用自动生成只会导致你悲伤,你,或者说你的用户,将太经常遇到例外。在数据加密和解密时间之间,密钥可以更改(通过应用程序池回收重新启动应用程序,触及Web.config等)。