2012-08-13 111 views
0

我正在研究一个项目,以保证我所有的密码安全。我不想用另一个文件来保存密码,我希望它是独立的。因此,在运行时(比如,当我按下应用按钮或FormClosing事件等时)我需要编辑将保存加密密码的资源。这是可能的,如果是的话如何?如果不可能,那么最好的选择是什么?顺便说一句,我不想​​使用注册表,因为它会杀死可移植性。是否可以在运行时编辑.NET可执行文件的资源?

在此先感谢!

编辑:按资源我的意思是嵌入的。

编辑:贾森的回答后,我需要改变一点点的问题;有没有办法将任何东西写入正在运行的可执行文件本身?

+0

你想要这个工作的平台是什么?我想象UAC和任何防病毒软件都不会对这类事情非常好。 – Ani 2012-08-13 21:08:38

+0

当你说“资源”时,你的意思是一个外部文件,例如txt或实际的.resx文件?只是要清楚:) – 2012-08-13 21:10:23

+0

Windows。我宁愿WinXP和更高版本,但只是Win7也可以。 – theGD 2012-08-13 21:10:33

回答

0

This article显示了如何使用流访问程序集内的嵌入式资源。可以给你足够的开始如何编辑你提到的密码资源。

编辑; 啊,甚至更好:

How to read embedded resource text file

编辑:

只需使用一个StreamWriter例如

using (Stream stream = Assembly.GetExecutingAssembly() 
           .GetManifestResourceStream("file1.txt")) 
using (StreamWriter sw = new StreamWriter(stream)) 
{ 
    sw.Write("This is a test"); 
} 

编辑:

OK,看起来像一个死胡同:

How To Read, Then Write To An Embedded Resource In C#

嵌入的资源被编译到装配,你不能编辑 他们。

+0

他们似乎没有告诉我如何写入到一个嵌入式资源,他们只显示读取部分:( – theGD 2012-08-13 21:24:22

+0

我试过了,它引发一个异常:System.ArgumentException:流不可写 – theGD 2012-08-13 22:01:25

+0

嗯,不是好吧,回到绘图板... – 2012-08-13 22:04:13

相关问题