Hello,因为标题说,我正在尝试将cookie传递给页面,但我需要加密它们并在特定页面(Home.aspx)上我需要解密它。任何人都知道怎么做?
我的代码到目前为止,Login.aspx:
HttpCookie UserCookie = new HttpCookie("Login");
UserCookie.Value = txtUsername.Text;
UserCookie.Expires = DateTime.Now.AddHours(2);
Response.Cookies.Add(UserCookie);
答案 0 :(得分:6)
我不得不稍微改变LGSon的答案,这对我有用。
Convert.ToBase64String(MachineKey.Protect(Encoding.UTF8.GetBytes("your cookie value")))
Encoding.UTF8.GetString(MachineKey.Unprotect(Convert.FromBase64String("your cookie value")))
答案 1 :(得分:5)
您可以使用MachineKey.Protect
/ MachineKey.Unprotect
此示例代码还使用Base64
转换,以避免Cookie值中的无效字符出现意外错误。
MachineKey.Protect(Encoding.UTF8.GetBytes(cookieValue), "an authentication token").FromBytesToBase64()
Encoding.UTF8.GetString(MachineKey.Unprotect(Request.Cookies(cookieName).Value.FromBase64ToBytes, "an authentication token"))
Src:https://msdn.microsoft.com/en-us/library/system.web.security.machinekey.protect(v=vs.110).aspx