下面的示例将读取用户的密码,但也会以纯文本形式回显它,有没有办法解决这个问题?
Future<String> promptPassword() {
var completer = new Completer<String>();
var stream = new StringInputStream(stdin);
stdout.writeString("Warning: Password will be displayed here until I find a better way to do this.\n");
stdout.writeString("Watch your back...\n");
stdout.writeString("GitHub password for $gituser: ");
stream.onLine = () {
var str = stream.readLine();
stdin.close();
completer.complete(str);
};
return completer.future;
}
最佳答案
现在已经实现了。
见 Stdin.echoMode
import 'dart:io';
void main() {
print('Enter password: ');
stdin.echoMode = false;
var password = stdin.readLineSync();
// Do something with password...
}
关于dart - 如何在 dart 控制台应用程序中禁用 stdin 回显以输入密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14591347/