2009-11-18 91 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等)。