我正在尝试使用.net应用程序中的protectedmemory和protecteddata保护字节数据
构成此网站http://www.codedigest.com/Articles/Framework/69_Data_Encryption_and_Decryption_using_DPAPI_classes_in_NET.aspx 似乎我只能保护几个字节
而且,我无法获取此处提供的示例http://msdn.microsoft.com/en-us/library/ms229741(v=vs.85).aspx来运行
我收到以下错误:
名称'MemoryProtectionScope'未声明。 (BC30451)
未声明名称“DataProtectionScope”。 (BC30451)
名称'ProtectedMemory'未声明。 (BC30451)
任何人都可以帮助我解决其他方法。
答案 0 :(得分:1)
是什么让你认为你只能保护那篇文章的几个字节? API很简单 - 请记住加密不会发生,带有加密内容的新数组会返回。
以下是使用ProtectedData.Protect
和back的完整示例:
void Main()
{
string data = new WebClient().DownloadString("http://www.stackoverflow.com");
var buffer = Encoding.UTF8.GetBytes(data);
buffer = System.Security.Cryptography.ProtectedData.Protect(buffer, null, System.Security.Cryptography.DataProtectionScope.CurrentUser);
// Data is now protected.
// Unprotect
buffer = System.Security.Cryptography.ProtectedData.Unprotect(buffer, null, System.Security.Cryptography.DataProtectionScope.CurrentUser);
string decrypted = Encoding.UTF8.GetString(buffer);
Debug.Assert(data == decrypted);
}
此外,您还需要添加对System.Security程序集的引用。