linux - 如何使用 read 系统调用以交互方式获取密码

标签 linux unix terminal passwords go

如何在 golang 中使用系统调用实现以下命令行?

read -s -p "Enter Password: " mypassword

也就是说,在读取密码时要设置哪些附加选项,以避免输入被回显并强制仅以交互方式提供输入。

谢谢。

最佳答案

您可以使用terminal包中的terminal.ReadPassword()

func ReadPassword(fd int) ([]byte, error)

ReadPassword 从终端读取一行输入,没有本地回显。这通常用于输入密码和其他敏感数据。返回的 slice 不包含\n。

包终端提供了处理终端的支持功能,如 UNIX 系统上常见的那样。

更多信息:

关于linux - 如何使用 read 系统调用以交互方式获取密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20897895/

相关文章:

android - android中的shell脚本给出[: not found

32 位 arm android ndk 独立工具链中缺少 linux/uinput.h?

linux - 'ls -l' 命令解释(权限除外)

bash - 在 bash 中使用 trap 捕获已终止后台进程的 pid

php - 如何通过命令行将 POST 参数传递给 Chromium?

linux - linux的scp开源实现

c - WEXITSTATUS(status) 返回什么?

linux - awk 在单列上完全连接 2 个文件

linux - 如何从客户端保持 telnet 连接处于事件状态

python - 在终端中运行 python 文件时,返回命令是否未执行?