gpt4 book ai didi

c# - 使用 XML 序列化时保护敏感值(密码)?

转载 作者:行者123 更新时间:2023-11-30 18:59:27 26 4
gpt4 key购买 nike

我们有一个保存用户登录配置文件的类,这是一个我们只是序列化到磁盘的简单类。我们当然可以对序列化过程进行加密、压缩等等,但是,出于其他原因,我想保持简单。

序列化的一项是密码(字符串)属性。我不介意它正在被序列化,但我希望被序列化的值是 3DES 加密的,这样如果有人在某些阅读器中打开文件,它就不会泄露密码。我知道我可以简单地将密码值设置为加密值并获取加密值,但我想稍微自动化它,以便在调用 GET'er 时它处理解密,SET'er 处理加密,所以它是无缝。

您认为解决此问题的最佳方法是什么?我在想的是,我需要将“密码”属性标记为被序列化程序忽略,它只是通往另一个保存加密值的属性的路径,因此返回解密后的值。这是处理此问题的最佳/唯一方法吗?只是想看看是否有更简单的方法,然后再通过我能看到的唯一方法进行编码,以将加密/解密保持在序列化类逻辑中。

谢谢。

最佳答案

您可以将密码属性标记为被序列化忽略,并使用某种包装属性进行序列化:

public class LogonInfo
{
[XmlIgnore]
public string Password { get; set; }

public string EncPassword {
{
get
{
return Encrypt(Password);
}
set
{
Password = Decrypt(value);
}
}

// TODO: add Encrypt and Decrypt methods
}

关于c# - 使用 XML 序列化时保护敏感值(密码)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10199029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com