C# 安全cookies Asp.Net核心

C# 安全cookies Asp.Net核心,c#,asp.net-core,C#,Asp.net Core,如何保护asp.net核心中的Cookie。因为现在我只有纯文本的cookie,每个人都可以从浏览器中的inspector获取数据。是否存在一些方便的解决方案,以便在处理之前对cookie值进行加密和解密 context.Response.Cookies.Append("name", "Tom"); 有几种加密和解密字符串的方法,其中一种简单的方法是使用IDataProtector private IDataProtector _protector; public AccessControl

如何保护asp.net核心中的Cookie。因为现在我只有纯文本的cookie,每个人都可以从浏览器中的inspector获取数据。是否存在一些方便的解决方案,以便在处理之前对cookie值进行加密和解密

context.Response.Cookies.Append("name", "Tom");

有几种加密和解密字符串的方法,其中一种简单的方法是使用
IDataProtector

private IDataProtector _protector;

public AccessController(IDataProtectionProvider provider)
{
    _protector = provider.CreateProtector("MySecretKey");
}

public void ActionResult Index()
{
    var protectedName = _protector.Protect("Tom");

    HttpContext.Response.Cookies.Append("name", protectedName);
   .
   . 
   .
}

并使用
\u protector.UnProtect(encryptedString)
来解密字符串。

加密和解密字符串有几种方法,其中一种简单的方法是使用
IDataProtector

private IDataProtector _protector;

public AccessController(IDataProtectionProvider provider)
{
    _protector = provider.CreateProtector("MySecretKey");
}

public void ActionResult Index()
{
    var protectedName = _protector.Protect("Tom");

    HttpContext.Response.Cookies.Append("name", protectedName);
   .
   . 
   .
}

并使用
\u protector.UnProtect(encryptedString)
对字符串进行解密。

@CamiloTerevinto added为什么不在会话中存储这些信息?不要在客户端存储机密或敏感数据。结束story@CamiloTerevinto为什么不在会话中存储这些信息?不要在客户端存储机密或敏感数据。故事结尾如果您使用的是服务器场,或者如果站点被移动到其他服务器,那么这不会失败吗?也就是说,如果站点被重新定位,您将无法读取cookie的值。@这是真的。但这是可以避免的。您只需要指定一个共享密钥环:@pimbrouwers-是的,我只是想避免所有这些复杂性。如果您使用的是服务器场或站点被移动到其他服务器,这不会失败吗?也就是说,如果站点被重新定位,您将无法读取cookie的值。@这是真的。但这是可以避免的。您只需要指定一个共享密钥环:@pimbrouwers-是的,我只是想避免所有这些复杂性。