【发布时间】:2016-11-18 19:08:32
【问题描述】:
在 Asp.Net 核心中,当您将应用配置为 app.UseSession() 时会创建一个 cookie。
默认情况下,cookie 名为“.AspNetCore.Session”。它的值标识要使用的会话。目前,我将会话数据保存在 sql server 上。我需要知道“.AspNetCore.Session”的解密值,以便我可以在数据库中查找会话。
有没有办法解密这个值?我知道 ASP.NET 必须以某种方式在幕后进行。
【问题讨论】:
-
我想知道它是否与 Forms Security 具有相同的加密/解密功能。也许 FormsAuthentication.Decrypt() 使用的任何东西都可能有效或至少值得一试。
-
这是一个
IDataProtector,后跟base64编码。要解密,您首先需要将 base64 解码为字节数组,然后应用其中的一部分:stackoverflow.com/a/37543433/1132334。 “秘密”就是这部分:CreateProtector("Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware", ...) -
感谢@dlatikay 的指导。从您提供的链接中,我在 C:\mypath 中放了什么?
标签: c# asp.net asp.net-core asp.net-core-mvc asp.net-core-1.0