【问题标题】:Writing a CLI: How to avoid showing the typed password on screen [duplicate]编写 CLI:如何避免在屏幕上显示输入的密码 [重复]
【发布时间】:2015-10-20 12:48:54
【问题描述】:

我正在用 Go 编写一个命令行工具,其中一个命令将查询用户的用户名和密码(并将其保存到主目录内的配置文件中)。

目前我不知道如何将输入的密码替换为“*”,甚至不知道如何像许多命令行工具那样不输入任何内容。

在使用golang时如何做到这一点?

【问题讨论】:

    标签: go command-line-interface


    【解决方案1】:

    在你来之前把这些东西输入谷歌。

    您可以通过执行stty -echo 来关闭回声然后 stty echo 读入密码后重新开启

    刚刚在#go-nuts 邮件列表中看到了一封邮件。有人写得很 一个简单的 go 包被使用。你可以在这里找到它: https://github.com/howeyc/gopass

    是这样的:

    package main
    
    import "fmt" import "github.com/howeyc/gopass"
    
    func main() {
        fmt.Printf("Password: ")
        pass := gopass.GetPasswd()
        // Do something with pass }
    

    Taken from another Stackoverflow post.

    【讨论】:

    • 谢谢,找不到这个问题,我猜是因为标题不好(:
    • 它发生了。不是问题。很高兴我能帮上忙! :)
    猜你喜欢
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 2012-05-02
    • 2019-07-29
    • 1970-01-01
    相关资源
    最近更新 更多