cli 输入账号密码

TangYiMo · · 1410 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

> 在创建账号和密码时,需要隐藏字符串。 源码目录: ```shell package main import ( "bufio" "bytes" "errors" "fmt" "os" "github.com/howeyc/gopass" ) // GetPassword ask user for password interactively func GetPassword() (string, error) { fmt.Printf("Please input your key file password: ") pass, err := gopass.GetPasswd() if err != nil { return "", err } return string(pass), nil } // SetPassword ask user input password twice and get the password interactively func SetPassword() (string, error) { fmt.Printf("Password: ") pass, err := gopass.GetPasswd() if err != nil { return "", err } fmt.Printf("Repeat password:") passRepeat, err := gopass.GetPasswd() if err != nil { return "", err } if !bytes.Equal(pass, passRepeat) { return "", errors.New("twice input passwd is not match") } return string(pass), nil } func getInput() ([]byte, error) { r := bufio.NewReader(os.Stdin) d, err := r.ReadBytes('\n') d = d[:len(d)-1] return d, err } func main() { fmt.Println("please input user:") user, err := getInput() if err != nil { fmt.Println(err) return } passwd, err := SetPassword() if err != nil { fmt.Println(err) return } fmt.Println(string(user), passwd) } ``` 执行: ```shell root@jack-VirtualBox:~/test/passwd-input# go mod init tt root@jack-VirtualBox:~/test/passwd-input# go mod tidy root@jack-VirtualBox:~/test/passwd-input# go build root@jack-VirtualBox:~/test/passwd-input# ./tt please input user: jack Password: Repeat password: jack 123456 root@jack-VirtualBox:~/test/passwd-input# ```

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1410 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传