【发布时间】:2012-07-31 16:53:09
【问题描述】:
我在 C# 中执行包含密码的命令行,如果我在 Windows 任务管理器(“进程”选项卡)中显示可选的“命令行”列,它包含所有参数,包括密码, 你能想出一种方法来隐藏它,比如只显示“.exe”文件之类的吗?
谢谢
【问题讨论】:
我在 C# 中执行包含密码的命令行,如果我在 Windows 任务管理器(“进程”选项卡)中显示可选的“命令行”列,它包含所有参数,包括密码, 你能想出一种方法来隐藏它,比如只显示“.exe”文件之类的吗?
谢谢
【问题讨论】:
如果您可以控制您正在调用的程序,您可以修改它以从标准输入读取数据,而不是在命令行上传递密码。这将阻止它成为命令行本身的一部分,从而“隐藏”它。
如果您无法更改程序,则无法隐藏用于启动进程的命令行,因为有 Windows API 调用可以查询打开的进程(这是任务管理器正在使用的) .
【讨论】:
好吧,紧接着:在我看来,你真的不应该做类似以人类可读格式传递凭据之类的事情!将路径传递到包含加密凭据的文件并不难,而且更安全。
我认为隐藏命令行是不可能的。如果我错了,请纠正我。
见:What is the easiest way to encrypt a password when I save it to the registry?
【讨论】: