Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何保护密码不被存储在进程转储MS word进程c中#_C#_Winforms_Security - Fatal编程技术网

C# 如何保护密码不被存储在进程转储MS word进程c中#

C# 如何保护密码不被存储在进程转储MS word进程c中#,c#,winforms,security,C#,Winforms,Security,登录到我的windows应用程序时,输入的密码文本将存储在从windows任务管理器获取的MS Word process的进程转储文件中。如何防止将密码文本存储在进程转储文件中。(我们使用Interop是因为我们在MS Word文件上执行操作) 对于存储密码,我们使用普通字符串类,然后对其进行加密,并通过API发送到DB 请建议。 我们的尝试: 我们尝试过的加密和解密方法。尽管如此,在登录过程中,我们仍然可以在过程转储文件中看到输入的密码文本 所需输出: 我们想清除进程转储文件中的密码文本。 查

登录到我的windows应用程序时,输入的密码文本将存储在从windows任务管理器获取的MS Word process的进程转储文件中。如何防止将密码文本存储在进程转储文件中。(我们使用Interop是因为我们在MS Word文件上执行操作)

对于存储密码,我们使用普通字符串类,然后对其进行加密,并通过API发送到DB

请建议。

我们的尝试:

我们尝试过的加密和解密方法。尽管如此,在登录过程中,我们仍然可以在过程转储文件中看到输入的密码文本

所需输出:

我们想清除进程转储文件中的密码文本。
查看进程转储文件的方法-转到任务管理器->右键单击正在处理的进程->生成转储文件->在文本编辑器中打开,我们可以使用输入的密码执行查找选项。密码将出现在进程转储中。(出于安全原因,我们需要从进程转储文件中删除密码。)

不太清楚,您的Windows应用程序和MS Word之间有什么关系?何时/何地需要密码?为什么/何时需要在过程中存储密码?请再详细说明一下。同时,请看一下。您应该使用SecureString,而不是使用String类,有关更多详细信息,请参阅此链接。正如@RezaAghaei所提到的,更好地说明用例以及app和Word之间的关系将允许更合适的输入。如果您需要隐藏密码,您可以创建密码的
散列。对输入的密码进行散列,并通过将散列值与所需密码的散列值进行比较进行验证。因此,您不需要将密码存储在纯文本中,而是作为散列存储。非常感谢Reza、Soumen和Stefan我们已经找到了根本原因,即编码。UTF8正在内存转储中写入纯文本。请建议UTF7或UTF32在这里是否有用?