C#-将数据保存在可以';不能由用户打开

C#-将数据保存在可以';不能由用户打开,c#,encryption,C#,Encryption,我正在尝试将一些用户数据本地存储在加密文件中。使用设置方法不是我需要的,所以我真的想在某处创建一个文件并写入它-成功写入后,应该对其进行加密,以便用户无法打开/编辑它 稍后,应用程序应该能够解密和读取/编辑文件 我在XML方面没有任何经验,也不知道这是否是我想要的。但是,如果可能的话,我希望在没有XML的情况下解决这个问题 你对如何编程加密有什么想法吗?谢谢 如果你还有任何问题,请留下评论,我会处理的 编辑 似乎我忘了提到我只想阻止普通用户查看或编辑文件。我不想创建一些高安全性的应用程序。Joe

我正在尝试将一些用户数据本地存储在加密文件中。使用设置方法不是我需要的,所以我真的想在某处创建一个文件并写入它-成功写入后,应该对其进行加密,以便用户无法打开/编辑它

稍后,应用程序应该能够解密和读取/编辑文件

我在XML方面没有任何经验,也不知道这是否是我想要的。但是,如果可能的话,我希望在没有XML的情况下解决这个问题

你对如何编程加密有什么想法吗?谢谢

如果你还有任何问题,请留下评论,我会处理的

编辑
似乎我忘了提到我只想阻止普通用户查看或编辑文件。我不想创建一些高安全性的应用程序。

Joey可以做的是对整个字符串进行加密并保存,将加密密钥保存在代码中,然后当您想要编辑/读取写入的数据时,只需使用相同的密钥对其进行解密即可

该服务称为AESCryptServiceProvider,以下是文档


此外,本视频也可能对您有所帮助

嘿,Canvas,谢谢您的建议。我只是看到了问题,如果我将密钥存储在代码中,那么如果我终止应用程序,它将被删除,对吗?我需要能够在重新启动应用程序后获得访问权限…只要您的密钥在C#应用程序中硬编码,密钥就不会丢失。这是一个很好的建议,谢谢@画布:从安全角度来看,硬编码密钥是个好主意吗?不sure@Joey这并不能解决标题中给出的要求(“用户无法打开”)。硬编码密钥不会提供任何安全性(这是混淆),因为反编译很容易,用户可以简单地重新创建解密方法。要解决这样的需求是不可能的。是否使用XML与加密几乎没有关系