c# – 在控制台应用程序中屏蔽密码参数

我需要在C#中编写一个控制台应用程序,它使用用户名和密码作为输入参数.

示例:mytool.exe –username foo –password bar

这样做很容易,但当然用户输入密码时屏幕上会显示密码.安全问题.

有没有可能以更安全的方式处理这个问题?然而,以下不是一个选项:

C:\>mytool.exe
Please enter username:
Please enter password:

应用程序应支持在没有用户交互的情况下调用,例由cronjob定期运营.

最佳答案 详细说明SLaks的评论:

从标准输入(标准输入)获取密码.在您的cron作业中,使用输入重定向来传递密码,例如

MyConsoleProgram.exe < C:\SomeSecureFolder\Password.txt

@Ahmed提供的方法适用于从命令提示符交互使用程序的情况.

您的程序必须在允许访问Password.txt的安全上下文中运行,但是访问该文件应该仅限于具有合法访问权限的帐户.

点赞