非-ASP.Net等效于MachineKey.Protect / Unprotect

时间:2013-03-14 11:25:26

标签: c# .net-4.5

System.Web.Security命名空间之外是否有一个易于使用的加密/解密方法,与MachineKey.Protect/MachineKey.Unprotect()一样易于使用?

或者有人知道你是否可以在ASP.Net之外设置这个,因为我的快速试用表明它似乎在应用程序重新启动之间生成了一个新密钥或某些东西,这意味着你无法在重新启动应用程序之间解密任何东西。 / p>

我可以使用适当的类来自己动手,我只是想知道他们是否最终提供了一个更简单的API?

2 个答案:

答案 0 :(得分:3)

我也在寻找这个。经过几个小时的挖掘,我找到了System.Security.Cryptography.ProtectedData。用法非常相似,只需要提供范围即可。这是最好的部分:它可以从.NET 2.0获得。

希望有一天能帮到某人。

答案 1 :(得分:1)

asp.net中的MachineKey每次启动时都会自动生成。为了解决这个问题,你可以明确地set the MachineKey

当然,如果这个过程与你的潜在黑客在同一台机器上运行,那么它就毫无意义了。