我正在尝试加密可序列化(xml)类包含的数据.这是一个简单的例子:
[XmlRootAttribute("FooClass")]
public class FooClass
{
private string _personalData;
public PersonalData
{
set { _personalData = value;}
get { return _personalData; }
}
}
Run Code Online (Sandbox Code Playgroud)
假设已经准备好使用这些方法:Encrypt&Decrypt.有没有办法在序列化过程中以某种方式使用它们以便PersonalData在序列化输出中加密?
是.将PersonalData标记为非序列化,然后添加新属性以返回并接受序列化数据(请注意,XmlAttribute是可选的):
[XmlRootAttribute("FooClass")]
public class FooClass
{
private string _personalData;
[NonSerialized()]
public string PersonalData
{
set { _personalData = value;}
get { return _personalData; }
}
[XmlAttribute("PersonalData")]
public string PersonalDataEncrypted
{
set { _personalData = DecryptData(value);}
get { return EncryptData(_personalData); }
}
}
Run Code Online (Sandbox Code Playgroud)