使用 C# 和 .NET 4.5:

我正在寻找一个简单有效的选项来使用 Windows 用户和当前机器来加密/解密字符串。

加密的字符串只能在同一台机器上用相同的登录用户解密。

登录到同一台机器的其他用户一定不能解密。
登录到另一台机器的同一用户一定不能解密。

早在 2002 年,我曾经使用 DPAPI 来做类似的事情。我希望 2016 年有一个更现代的选项,带有单行 API 调用的 .NET 4.5 :)

更新 1:

根据@Jeroen Mostert 的回复,我了解到 DPAPI 包装类 ProtectedData 仍然相关。

我的问题是以下哪一项关于 DPAPI 的陈述是正确的?我希望正确答案是 C,因为这就是我正在寻找的。

A - DPAPI 只使用当前用户身份的加密 key

B – DPAPI 只使用当前机器作为加密 key

C-DPAPI使用当前用户和当前机器作为加密 key (A和B)

谢谢,

最佳答案

根据评论,DPAPI 仍然是一个有效的选择。

如果要求将解密权限限制在特定机器上的特定用户,那么我们可以分两步加密 secret 。我们可以用 User 加密,然后用 Machine 加密加密的缓冲区

关于c# - .NET 4.5 : Simple option to encrypt a string using logged-in user and machine as encryption key,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36603066/

10-15 03:58