繁体   English   中英

在临时XML配置文件中存储密码的正确方法

[英]Proper Way to Store Passwords in Temporary XML Config File

我创建了一个程序,该程序启动一个单独的子进程,该子进程对文件执行任务。 其中一些文件受密码保护,因此为了使子进程在这些文件上运行,它需要它们的密码。 我要实现的计划是传递一个XML配置文件,其中包含所有类似于以下内容的文件路径和密码:

<Files>
    <File>
      <Path>C:\Users\hahaha\hehehe\file2</Path>
      <Password>123456abc</Password>
    </File>
    <File>
      <Path>C:\Users\blablaa\abc\file1</Path>
      <Password>123456abc</Password>
    </File>
</Files>

此信息保留在本地计算机上,并且永远不会通过网络传递。 此XML配置文件是在父进程中创建的。 子进程将代表此XML配置文件路径的字符串作为参数。 然后,子进程将解析XML文件,然后根据文件和密码((键,值)=>文件路径,密码)创建字典。 该过程完成后,可以删除配置文件。

我的问题是:将密码存储在配置文件中的最佳实践和方法是什么? 我认为加密它们就足够了。 或者,如果有完全不同的方法更好,那会是什么样?

答:想法是使用Windows密码管理器。

  1. 使用CredAPI在此处创建URL“我的超级应用程序”的临时密码(如果未创建)
  2. 用它加密XML部分。

B.想法是使用CryptoAPI为用户个人商店中的应用程序创建证书

  1. 使用Crypto API在个人用户中创建并放置包含两个密钥的临时证书
  2. 用它加密XML部分。

为了获得对XML的访问权,坏蛋需要进入其他用户帐户。 如果密码将由admin重置,则所有人员将丢失。

但是将数据存储在临时文件中只是为了将其传递给子进程是一种幼稚的事情。 正确的方法是使用任何一种方法来完成该任务

  • 网络远程处理
  • TcpServer-TcpClient并通过网络流数据传输
  • 内存映射文件
  • 管子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM