我需要在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的安全上下文中运行,但是访问该文件应该仅限于具有合法访问权限的帐户.