【发布时间】:2015-06-29 15:31:39
【问题描述】:
我需要在 ASP.NET(控制台应用程序、Powershell 等)之外加密一个 cookie,但由于这个 cookie 最终会被我的 MVC 应用程序读取,它需要使用相同的密钥进行加密。
我可以在 ASP.NET 之外使用MachineKey class,但是我无法指定加密类型或密钥,因为这些在应用程序的 web.config 中进行了概述,但在此上下文中不存在。由于没有配置,所以每次都会随机生成密钥。
如何使用下面相同的解密密钥加密数据,以保证以后我的 MVC 应用程序可以成功解密?
<machineKey
validationKey="207FE3B8E01D0FF81871D7F3EFC082A14341A7820942D24D3BEF8954CAE53D860F46FBCDDA73F752CE1052D475D442CC8C14FC814739A757D52D152EF5EE179E"
decryptionKey="326C47E59EB1B38AEA84DBC9633BB770C318A740E477C82F3A8D9506F030D953"
validation="SHA1" decryption="AES"
/>
【问题讨论】:
-
您使用的是哪个会员服务提供商?这是身份吗?我知道在旧的 FormsAuthentication 网站上你可以使用FormsAuthentication.Encrypt。
-
@br4d 感谢您的评论,但 FormsAuthentication.Encrypt 仍然从 web.config 读取机器密钥。不幸的是,因为我没有 web.config) 我需要一些手动加密的方法。
标签: c# asp.net asp.net-mvc