MachineKey.Protect 和 MachineKey.Unprotect

Yas*_*ass 1 c# encryption asp.net-mvc-4 .net-4.5

我使用 .net 4.5 和 MachineKey.Protect/MachineKey.Unprotect 来加密和解密值。我想知道当我们将代码部署到拥有多个服务器的生产环境时,MachineKey.Protect/MachineKey.Unprotect 是否可以在不同步计算机密钥的情况下正常工作?

这是解密的示例代码:

var bytes = Convert.FromBase64String(Token);
var decryValue = MachineKey.Unprotect(bytes, Purpose);
string plainText = Encoding.UTF8.GetString(decryValue);
Run Code Online (Sandbox Code Playgroud)

让我知道你的想法!

mez*_*tou 5

要取消数据保护,您需要与保护数据所用的机器密钥相同的机器密钥。因此,如果您需要取消受另一台服务器保护的数据的保护,您的服务器必须共享相同的计算机密钥。