我需要用 C# 编写一个控制台应用程序,它将用户名和密码作为输入参数。
示例:mytool.exe --username foo --password bar
这样做很容易,但当然,只要用户输入密码,屏幕上就会显示密码。安全问题。
有没有可能以更安全的方式处理这个问题?但是,以下不是一个选项:
C:\>mytool.exe
Please enter username:
Please enter password:
应用程序应支持在没有用户交互的情况下被调用,例如由 cronjob 定期运行。
最佳答案
详细阐述 SLaks 的评论:
从 stdin(标准输入)获取密码。在您的 cron 作业中,使用输入重定向来传递密码,例如
MyConsoleProgram.exe < C:\SomeSecureFolder\Password.txt
@Ahmed 提出的方法适用于从命令提示符交互使用程序的情况。
您的程序必须在允许访问 Password.txt 的安全上下文中运行,但访问该文件应仅限于有合法访问需求的帐户。
关于c# - 在控制台应用程序中屏蔽密码参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20337201/