编译器错误消息:CS0103:名称';ProtectedData';在当前上下文中不存在
本文关键字:上下文 不存在 ProtectedData 名称 消息 编译器 错误 CS0103 | 更新日期: 2023-09-27 18:29:16
我在尝试使用System.Security的加密代码时遇到运行时错误。我添加了对System.Security的引用,一切看起来都很好,但我收到了以下错误:"编译器错误消息:CS0103:名称"ProtectedData"在当前上下文中不存在"
这是引发错误的代码。
public static string EncryptString(SecureString input, string entropy)
{
byte[] salt = Encoding.Unicode.GetBytes(entropy);
byte[] encryptedData = ProtectedData.Protect(
Encoding.Unicode.GetBytes(ToInsecureString(input)),
salt,
DataProtectionScope.CurrentUser);
return Convert.ToBase64String(encryptedData);
}
谢谢,Sam
您需要为System.Security.Cryptography
添加一个using语句,并且需要对System.Security.dll
的引用。从你的问题来看,你只是添加了引用,而不是使用语句。
您也可以完全限定引用,而不是使用语句:
byte[] encryptedData = System.Security.Cryptography.ProtectedData.Protect(
Encoding.Unicode.GetBytes(ToInsecureString(input)), salt,
System.Security.Cryptography.DataProtectionScope.CurrentUser);