我想在ASP.NET中加密cookie。
我在本文中遵循了该方法,但是它的缺点是在内部方法上使用了反射。这导致它在代码审查中被标记- 由于内部实现可能会更改,因此它不是面向未来的。
有没有一种功能相同的方法,不需要在内部方法上使用加密?
我正在使用.NET Framework 3.5 SP1(假设我无法更改框架版本)
为什么不使用System.Security.Cryptography中的加密功能对敏感的cookie名称和值进行加密和解密?您可以编写一些实用程序功能来轻松管理它。实用程序功能示例:
private static void SetEncryptedCookie(string name, string value) { var encryptName = SomeEncryptionMethod(name); Response.Cookies[encryptName].Value = SomeEncryptionMethod(value); //set other cookie properties here, expiry &c. //Response.Cookies[encryptName].Expires = ... } private static string GetEncryptedCookie(string name) { //you'll want some checks/exception handling around this return SomeDecryptionMethod( Response.Cookies[SomeDecryptionMethod(name)].Value); }