对用户隐藏的 C# 设置

发布于 2024-11-27 05:02:48 字数 338 浏览 0 评论 0原文

我想获取并设置一些为用户隐藏的应用程序设置。在本例中,这是两个令牌和两个正在被应用程序更改的令牌。但对于应用程序用户来说,这四个内容仍然是秘密。

我在MSDN和这个论坛上找到了两种方法。

  • 使用 .config 文件。 ->这听起来不错,我可以更改其中的一些值。但发布后我仍然看到一个纯文本文件。
  • 使用项目属性中的设置。 ->应该是吗?我读到了关于这毕竟不那么安全的警告。

很多网站都描述了 Web 服务器解决方案,而我只想拥有一个桌面解决方案。

顺便提一句。它不是一个商业产品,我正在制作一个业余爱好项目,以从 C#.net 中了解更多信息。

I want to get and set some application settings hidden for the user. In this case these are two tokens and two tokens that are being altered by the application. But still all four them are a secret to the application user.

I found two ways on MSDN and this forum.

  • Use a .config file. -> this sounds okay and I can change some values in it. But I see still a plain text file after publish.
  • Use the settings in the project properties. -> should it be? I read warnings about that this not so secure after all.

A lot of sites describe a web server solution while I just want to have a desktop solution.

Btw. It is not a commercial product, I am making a hobby project to learn more from C#.net.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

月下凄凉 2024-12-04 05:02:48

如果应用程序需要更改这些文件,您将需要将这些文件保留在应用程序之外,以便下次应用程序启动时加载新设置。

为此,您始终可以创建一个配置(或设置)文件并将其隐藏在程序集的 System.IO.IsolatedStorage 文件中。用户仍然可以对其进行编辑,但查找起来有点麻烦 - 而且这将与漫游配置文件一起传输,以便跨计算机使用设置。

一些简单的事情可以帮助您开始:

IsolatedStorage.IsolatedStorageFile storage = IsolatedStorage.IsolatedStorageFile.GetUserStoreForAssembly();

string subdirectory = "SomeDirectory";
storage.CreateFile(System.IO.Path.Combine(subdirectory, "settings.config"));

If these files need to be altered by the application, you will need to persist these outside of the application so that the new settings will be loaded next time the app starts.

For this, you can always create a config (or settings) file and hide it in the System.IO.IsolatedStorage files for the assembly. This is still editable by the user, but its a bit of a pain to find - plus this will transfer over with roaming profiles so that the settings are used cross machine.

Something simple to help you start out:

IsolatedStorage.IsolatedStorageFile storage = IsolatedStorage.IsolatedStorageFile.GetUserStoreForAssembly();

string subdirectory = "SomeDirectory";
storage.CreateFile(System.IO.Path.Combine(subdirectory, "settings.config"));
情未る 2024-12-04 05:02:48

设置的“存在”是否需要保密,或者只是其值?

如果是后者,我建议对保存到 .config 文件中的值进行加密。

Does the * existence* of the setting need to be kept secret, or just its value?

If the latter, I'd suggest encrypting the value you save to the .config file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文