我試圖使用下面的代碼加密和解密cookie。我能夠加密但解密功能接受字節輸入。我怎樣才能將cookie轉換爲解密字節?該錯誤是加密cookies
不能隱式轉換型 「System.Web.HttpCookie」 到「字節[]
誤差線是 「字節[]加密=的myCookie;」 我怎樣才能轉換解密之前的 「cookie」 爲byte [] Enryption:
HttpCookie myCookie = new HttpCookie("co");
myCookie.Values.Add("customerId", dr["customerId"].ToString());
using (AesCryptoServiceProvider myAes = new AesCryptoServiceProvider())
{
byte[] encrypted = AesEncryption.EncryptStringToBytes_Aes(myCookie.ToString(), myAes.Key, myAes.IV);
}
Response.Cookies.Add(myCookie);
能解密:
HttpCookie myCookie = Request.Cookies["co"];
byte[] encrypted = myCookie;
using (AesCryptoServiceProvider myAes = new AesCryptoServiceProvider())
{
string decripted = AesEncryption.DecryptStringFromBytes_Aes(myCookie.ToString(), myAes.Key, myAes.IV);
}
你的加密值反向沒有被添加到擺在首位的餅乾嗎? – driis
不應該使用byte [] encrypted = myCookie.ToString ..dont加密cookie,而是加密存在於其中的信息。 – thunderbird
MachineKey.Protect可能是在ASP.NET中加密數據的更好選擇。 http://msdn.microsoft.com/en-us/library/system.web.security.machinekey.protect.aspx – spender