【发布时间】:2019-02-14 19:38:59
【问题描述】:
我正在创建一个 Windows 窗体应用程序。出于安全原因,我想将许可证信息存储到文本文件中并希望对其进行加密。
var serializer = new XmlSerializer(typeof(Licence));
var saveData = new Licence
{
ProductId = txtProductID.Text,
ProductKey = txtProductKey.Text,
CreatedDate = validate.CreationDate,
ExpireDate = validate.ExpireDate,
DaysLeft = validate.DaysLeft
};
using (var writeFile = File.OpenWrite("data.txt"))
{
serializer.Serialize(writeFile, saveData);
}
使用此代码我可以成功创建文本文件。但是当我发布这个项目并安装它时,它给了我错误。 错误信息是...
拒绝访问路径“C:\Program Files (x86)\WebenixSystem\Metro Whole Sale\data.txt”。
**************异常文本************** System.UnauthorizedAccessException:对路径“C:\Program Files (x86)\WebenixSystem\Metro Whole Sale\data.txt”的访问被拒绝。
如何解决此问题,如何加密此 txt 文件?请帮忙...
【问题讨论】:
-
将其保存在用户目录中,或要求您的应用以管理员权限运行
-
@RBK 让应用程序以管理员权限运行很少(如果有的话)是正确的解决方案。对于像保存文件这样简单的事情,这完全是矫枉过正并引发了安全问题。这个建议就像听到 2000 年代初期和所有 Windows xp 安全地狱的回声。