方案: 我试图使用标准控制台应用程序解密数据库中的字段。这更像是一个灾难恢复场景,当没有时间构建整个App服务器时,我需要一个快速且脏的应用程序来解码值。传统上,app服务器是一个MVC应用程序,它使用MachineKey.Protect和MachineKey.Unprotect交互和编码/解码某些DB字段。
问题:
我已导入system.web.security dll,但是,它将读取的唯一机器密钥是存储在HKCU\Software\Microsoft\ASP.NET\4.0.30319.0\AutoGenKeyV4
中的机器密钥
我试过把它放在
<system.web>
<machineKey decryptionKey="xxx" validationKey="yyy"/>
</system.web>
在app.config文件中,制作了一个machine.config文件和一个web.config文件,它在启动时没有读取任何这些文件,它将始终显示注册表中的密钥。我有来自生产服务器的机器密钥,我只需要以某种方式强制我的控制台应用程序使用它。
这是我遇到的问题,我需要帮助。如何在控制台应用程序中设置machinekey并从应用程序配置文件中读取。更好的是,它会在运行时从用户的输入中读取,但我会在配置文件中完全解决它。
感谢任何帮助。