• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang gopass.GetPasswd函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/howeyc/gopass.GetPasswd函数的典型用法代码示例。如果您正苦于以下问题:Golang GetPasswd函数的具体用法?Golang GetPasswd怎么用?Golang GetPasswd使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了GetPasswd函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: InsertFunc

func InsertFunc(args Args) {
	PrepareFile()

	fmt.Println("Inserting a new password record")
	rec := PasssRecord{}

	promt("Website: ")
	fmt.Scanln(&rec.Website)

	promt("Username: ")
	fmt.Scanln(&rec.Username)

	for {
		promt("Password: ")
		pwd := string(gopass.GetPasswd())

		promt("Repeat: ")
		pwd2 := string(gopass.GetPasswd())

		if pwd == pwd2 {
			rec.Password = pwd
			break
		} else {
			fmt.Println("Entered passwords are different! Please try again.")
		}
	}

	fmt.Println("Inserted a new record:")
	rec.PrintHead()

	Records = append(Records, rec)
	EncryptAndSave()
}
开发者ID:yamnikov-oleg,项目名称:passs,代码行数:33,代码来源:cmd.go


示例2: getPassword

func getPassword() (password string) {
	fmt.Println("Password: ")
	pwd, err := gopass.GetPasswd()
	if err != nil {
		fmt.Errorf("Error: %s", err)
		return getPassword()
	}
	password = string(pwd)
	if string(pwd) == "" {
		fmt.Println("You did not provide a password. Please try again.")
		return getPassword()
	}

	fmt.Println("Confirm password: ")
	confirm, err := gopass.GetPasswd()
	if err != nil {
		fmt.Errorf("Error: %s", err)
		return getPassword()
	}
	if password != string(confirm) {
		fmt.Println("Password and confirmation do not match. Please try again.")
		return getPassword()
	}
	return
}
开发者ID:UrielCh,项目名称:hydra,代码行数:25,代码来源:account.go


示例3: askForPassword

func askForPassword(confirm bool) (password []byte, err error) {
	for {
		fmt.Printf("Enter passphrase: ")
		password = gopass.GetPasswd()
		if err != nil {
			return
		}
		if !confirm {
			break
		}
		var confirmation []byte
		fmt.Printf("Confirm passphrase: ")
		confirmation = gopass.GetPasswd()
		if err != nil {
			return
		}
		if len(password) == 0 {
			fmt.Println("Empty password, please try again.")
			clearBytes(confirmation)
			continue
		}
		if bytes.Equal(password, confirmation) {
			clearBytes(confirmation)
			break
		}
		fmt.Println("Passphrases mismatch, please try again.")
		clearBytes(confirmation)
		clearBytes(password)
	}
	return
}
开发者ID:howeyc,项目名称:scryptutil,代码行数:31,代码来源:main.go


示例4: addDBUser

func addDBUser() {
	reader := bufio.NewReader(os.Stdin)

	name := ask(reader, "Name: ")

	email := ask(reader, "Email ")

	if !IsEmail(email) {
		Log.Fatalf("%s is not a valid email address.", email)
	}

	fmt.Print("Password: ")
	pass := gopass.GetPasswd()

	fmt.Print("Confirm: ")
	cpass := gopass.GetPasswd()

	if string(pass) != string(cpass) {
		Log.Fatal("Password and confirm do not match.")
	}

	user := &UserDb{
		Name:     name,
		Email:    email,
		Password: string(pass),
	}

	err := CreateUser(user)

	if err != nil {
		Log.Fatal(err)
	}

	Log.Info("User created successfully.")
}
开发者ID:Yossibh,项目名称:envdb,代码行数:35,代码来源:envdb.go


示例5: main

func main() {
	var err error
	flag.Parse()

	state := shares.State{
		StorageDir: StorageDir,
	}

	DatabaseDir := filepath.Join(StorageDir, "db")

	state.Database, err = shares.NewDatabase(DatabaseDir)
	if err != nil {
		log.Printf("unable to open database: %s", err)
		os.Exit(1)
	}

	name := flag.Arg(0)
	if name == "" {
		log.Printf("no user given")
		os.Exit(1)
	}

	user, err := state.User(name)
	if err == nil {
		fmt.Printf("Loaded user %s\n", name)
	} else if create == true {
		user = state.NewUser(name)
		fmt.Printf("created new user: %s\n", name)
	} else {
		fmt.Printf("unknown user: %s\n", name)
		return
	}

	if chpasswd == true {
		fmt.Printf("Enter current password:")
		curPass := gopass.GetPasswd()
		fmt.Printf("Enter new password:")
		newPass := gopass.GetPasswd()
		fmt.Printf("Enter new password again:")
		if another := gopass.GetPasswd(); string(newPass) != string(another) {
			fmt.Printf("new passwords did not match\n")
			return
		}
		if !user.SetPassword(string(curPass), string(newPass)) {
			fmt.Printf("failed to set password for new user")
			return
		}
		fmt.Printf("successfully set new password for user %s\n", name)
	}

	if err = user.Save(); err != nil {
		fmt.Printf("failed to save user after creation: %s\n", err)
		return
	}
}
开发者ID:Wessie,项目名称:shareserver,代码行数:55,代码来源:main.go


示例6: getPassword

func getPassword() (password string) {
	fmt.Println("Password: ")
	password = string(gopass.GetPasswd())
	if password == "" {
		fmt.Println("You did not provide a password. Please try again.")
		return getPassword()
	}

	fmt.Println("Confirm password: ")
	if password != string(gopass.GetPasswd()) {
		fmt.Println("Password and confirmation do not match. Please try again.")
		return getPassword()
	}
	return
}
开发者ID:lmineiro,项目名称:hydra,代码行数:15,代码来源:account.go


示例7: loginAction

func loginAction(c *cli.Context) {
	reader := bufio.NewReader(os.Stdin)
	fmt.Printf("URL: ")
	ur, err := reader.ReadString('\n')
	if err != nil {
		logger.Fatal(err)
	}
	fmt.Printf("Username: ")
	u, err := reader.ReadString('\n')
	if err != nil {
		logger.Fatal(err)
	}
	fmt.Printf("Password: ")
	p := gopass.GetPasswd()
	sUrl := strings.TrimSpace(string(ur[:]))
	username := strings.TrimSpace(string(u[:]))
	pass := strings.TrimSpace(string(p[:]))

	cfg := &client.ShipyardConfig{
		Url:      sUrl,
		Username: username,
	}
	m := client.NewManager(cfg)
	token, err := m.Login(username, pass)
	if err != nil {
		logger.Fatal(err)
	}
	cfg.Token = token.Token
	if err := saveConfig(cfg); err != nil {
		logger.Fatal(err)
	}
}
开发者ID:atassumer,项目名称:shipyard,代码行数:32,代码来源:login.go


示例8: main

func main() {
	if len(os.Args) != 2 {
		fmt.Fprintln(os.Stderr, "Usage: genconfig <output.json>")
		os.Exit(1)
	}

	var c Config

	fmt.Print("Admin password: ")
	pass := gopass.GetPasswd()
	hash := sha256.Sum256([]byte(pass))
	c.AdminHash = strings.ToLower(hex.EncodeToString(hash[:]))

	c.ClientID = promptInput("FB App ID: ")
	c.Secret = promptInput("FB Secret: ")
	c.CallbackURI = promptInput("Landing URL (e.g. http://foo.com): ") + "/fblogin_done"

	for {
		tz := promptInput("Time zone (e.g. UTC, America/New_York): ")
		if _, err := time.LoadLocation(tz); err != nil {
			fmt.Println("Invalid time zone")
		} else {
			c.Timezone = tz
			break
		}
	}

	data, _ := json.Marshal(&c)
	if err := ioutil.WriteFile(os.Args[1], data, 0700); err != nil {
		fmt.Fprintln(os.Stderr, "Failed to write output:", err)
		os.Exit(1)
	}
}
开发者ID:unixpickle,项目名称:dailycube,代码行数:33,代码来源:main.go


示例9: getPasswd

func getPasswd() string {
	p, err := gopass.GetPasswd()
	if err != nil {
		panic(err)
	}
	return string(p)
}
开发者ID:rainycape,项目名称:gondola,代码行数:7,代码来源:profile.go


示例10: authorize

// Reads oauth tokens from disk if exist, else prompt for login
func authorize(force bool) {
	conf, err := getRc()
	client, err = api.NewPKClient(conf.URL)

	if force || err != nil {
		var username, password string
		fmt.Printf("Email: ")
		fmt.Scanln(&username)
		fmt.Printf("Password: ")
		password = string(gopass.GetPasswd())
		err = client.Authorize(username, password) // should return json on unauthorized
		if err != nil {
			fmt.Println("Authorization error:", err)
			return
		}

		conf.User = username
		conf.AccessToken = client.AccessToken
		conf.Expiration = client.TokenExpiration

		if err := conf.saveRc(); err != nil {
			panic(err)
		}
	} else {
		client.AccessToken = conf.AccessToken
		client.TokenExpiration = conf.Expiration
	}
	return
}
开发者ID:pancakeio,项目名称:pk,代码行数:30,代码来源:auth.go


示例11: serverCommand

func serverCommand() cli.Command {
	return cli.Command{
		Name:  "server",
		Usage: "Run webservice",
		Flags: serverFlags(),
		Action: func(c *cli.Context) {
			db_user := c.String("database-user")
			db_host := c.String("database-host")
			db := c.String("database")

			fmt.Printf("%[email protected]%s/%s password: ", db_user, db_host, db)
			db_pass, _ := gopass.GetPasswd()

			ds, err := atm.NewDatastore("mysql", fmt.Sprintf("%s:%[email protected](%s:%d)/%s",
				db_user, string(db_pass), db_host, c.Int("database-port"), db))
			if nil != err {
				log.Fatal(err)
				return
			}
			db_pass = []byte("")
			defer ds.Close()

			service := &atm.Server{
				Ds:               ds,
				Object_host:      c.String("object-host"),
				Default_duration: int64(c.Duration("duration").Seconds()),
				Nonces:           atm.NewNonceStore(),
			}
			service.Run()
		},
	}
}
开发者ID:glennsb,项目名称:atm,代码行数:32,代码来源:atm.go


示例12: ReadPassword

// ReadPassword reads password from standard input without echoing the characters.
// If mask is true, each chracter will be represented with astericks '*'. Note that
// this only works as expected when the standard input is a terminal.
func (s *Shell) ReadPassword(mask bool) string {
	fmt.Fprint(s.writer, s.prompt)
	if mask {
		return string(gopass.GetPasswdMasked())
	}
	return string(gopass.GetPasswd())
}
开发者ID:metakeule,项目名称:ishell,代码行数:10,代码来源:ishell.go


示例13: GetPass

func GetPass() string {
	if data, errData := gopass.GetPasswd(); errData != nil {
		return ``
	} else {
		return string(data)
	}
}
开发者ID:SommerEngineering,项目名称:mongo-tools,代码行数:7,代码来源:pass_util.go


示例14: DialInConsole

//TODO 某种认证方法只有一个会被使用,需要多次猜测
func DialInConsole(addr string, username string) (client *ssh.Client, err error) {
	//find cert file
	pathList := certFilePathList()
	authList := []ssh.AuthMethod{}
	for _, path := range pathList {
		clientKeyBytes, err := ioutil.ReadFile(path)
		if err != nil {
			if !os.IsNotExist(err) {
				return nil, fmt.Errorf("[DialInConsole] ioutil.ReadFile() err:%s", err)
			}
		} else {
			signer, err := ssh.ParsePrivateKey(clientKeyBytes)
			if err != nil {
				return nil, fmt.Errorf("[DialInConsole] ssh.ParsePrivateKey err:%s", err)
			}
			//clientKey := &keychain{signer}
			authList = append(authList, ssh.PublicKeys(signer))
		}
	}
	authList = append(authList, ssh.PasswordCallback(func() (secret string, err error) {
		fmt.Printf("[ssh] password for %[email protected]%s", username, addr)
		secret = string(gopass.GetPasswd())
		return
	}))
	clientConfig := &ssh.ClientConfig{
		User: username,
		Auth: authList,
	}
	client, err = ssh.Dial("tcp", addr, clientConfig)
	if err != nil {
		return nil, fmt.Errorf("[DialInConsole] Failed to dial: %s", err.Error())
	}
	return
}
开发者ID:keysonZZZ,项目名称:kmg,代码行数:35,代码来源:DialInConsole.go


示例15: main

func main() {
	turnpike.Debug()
	fmt.Println("Hint: the password is 'password'")
	fmt.Print("Password: ")

	var err error
	password, err = gopass.GetPasswd()
	if err != nil {
		log.Fatal("Error getting the password:", err)
	}

	c, err := turnpike.NewWebsocketClient(turnpike.JSON, "ws://localhost:8000/ws", nil)
	if err != nil {
		log.Fatal(err)
	}
	c.Auth = map[string]turnpike.AuthFunc{"example-auth": exampleAuthFunc}
	_, err = c.JoinRealm("turnpike.examples", nil)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println("Connected with auth")
	time.Sleep(3 * time.Second)
	fmt.Println("Disconnecting")
	c.Close()
}
开发者ID:apcera,项目名称:sample-apps,代码行数:25,代码来源:client.go


示例16: passwordCallback

// passwordCallback is a function which returns the appropriate type of callback.
func (obj *Remotes) passwordCallback(user, host string) func() (string, error) {
	timeout := nonInteractivePasswordTimeout // default
	if obj.interactive {                     // return after a timeout if not interactive
		timeout = -1 // unlimited when we asked for interactive mode!
	}
	cb := func() (string, error) {
		passchan := make(chan string)
		failchan := make(chan error)

		go func() {
			log.Printf("Remote: Prompting for %[email protected]%s password...", user, host)
			fmt.Printf("Password: ")
			password, err := gopass.GetPasswd()
			if err != nil { // on ^C or getch() error
				// returning an error will cancel the N retries on this
				failchan <- err
				return
			}
			passchan <- string(password)
		}()

		// wait for password, but include a timeout if we promiscuously
		// added the interactive mode
		select {
		case p := <-passchan:
			return p, nil
		case e := <-failchan:
			return "", e
		case <-util.TimeAfterOrBlock(timeout):
			return "", fmt.Errorf("Interactive timeout reached!")
		}
	}
	return cb
}
开发者ID:purpleidea,项目名称:mgmt,代码行数:35,代码来源:remote.go


示例17: cliLogin

func cliLogin(c *cli.Context) {
	var u string
	var user string
	fmt.Printf("URL: ")
	fmt.Scanf("%s", &u)
	fmt.Printf("Username: ")
	fmt.Scanf("%s", &user)
	fmt.Printf("Password: ")
	pass := gopass.GetPasswd()
	token, err := client.Authenticate(u, user, string(pass))
	if err != nil {
		log.Fatalf("Error logging in: %s", err)
	}
	if token == "" {
		log.Fatal("An error occurred while logging in")
	}
	// save config
	cfg := &Configuration{
		URL:      u,
		Username: user,
		Token:    token,
	}
	saveConfig(cfg)
	log.Info("Login successful")
}
开发者ID:carriercomm,项目名称:dialogue-1,代码行数:25,代码来源:main.go


示例18: main

func main() {

	fmt.Println("Enter secret seed:")
	seed := string(gopass.GetPasswd())

	pubKey, chain, privKey := bitcoin.ComputeMastersFromSeed(seed)
	fmt.Println("Derived pubkey: ", pubKey)

	fmt.Println("Enter message to sign, ctrl-d ctrl-d when done:")
	message, err := ioutil.ReadAll(os.Stdin)
	if err != nil {
		panic(err)
	}

	signature := bitcoin.SignMessage(privKey, string(message), true)
	fmt.Printf(`

-----BEGIN BITCOIN SIGNED MESSAGE-----
%v
-----BEGIN BITCOIN SIGNATURE-----
Version: Bitcoin-qt (1.0)
PublicKey: %v
Chain: %v

%v
-----END BITCOIN SIGNATURE-----

`, string(message), pubKey, chain, signature)

}
开发者ID:jaekwon,项目名称:ftnox-backend,代码行数:30,代码来源:sign_message.go


示例19: commandCreateUser

func commandCreateUser() cli.Command {
	return cli.Command{
		Name:        "createuser",
		Usage:       "createuser",
		Description: "Create a new user account. The email address and password are prompted to enter.",
		Action: func(c *cli.Context) {
			failOnError(c, checkZeroArgument(c))
			key := make([]byte, 32)
			salt := make([]byte, 10)
			if _, err := rand.Read(key); err != nil {
				failOnError(c, err)
			}
			if _, err := rand.Read(salt); err != nil {
				failOnError(c, err)
			}
			fmt.Print("Email: ")
			var email string
			fmt.Scanf("%s\n", &email)
			fmt.Print("Password: ")
			password := string(gopass.GetPasswd())
			u, err := generateUser(email, password, key, salt)
			failOnError(c, err)
			failOnError(c, client.UploadUsers([]*gitkit.User{u}, "HMAC_SHA1", key, nil))
			u, err = getUserByIdentifier(u.Email)
			failOnError(c, err)
			fmt.Println(">> user created:")
			printUser(u)
		},
	}
}
开发者ID:crossbreeze,项目名称:identity-toolkit-go,代码行数:30,代码来源:gitkitcli.go


示例20: passphrasePrompt

func (key *MasterKey) passphrasePrompt(keys []openpgp.Key, symmetric bool) ([]byte, error) {
	conn, err := gpgagent.NewConn()
	if err == gpgagent.ErrNoAgent {
		fmt.Println("gpg-agent not found, continuing with manual passphrase input...")
		fmt.Print("Enter PGP key passphrase: ")
		pass, err := gopass.GetPasswd()
		if err != nil {
			return nil, err
		}
		for _, k := range keys {
			k.PrivateKey.Decrypt(pass)
		}
		return pass, err
	}
	if err != nil {
		return nil, fmt.Errorf("Could not establish connection with gpg-agent: %s", err)
	}
	defer conn.Close()
	for _, k := range keys {
		req := gpgagent.PassphraseRequest{
			CacheKey: k.PublicKey.KeyIdShortString(),
			Prompt:   "Passphrase",
			Desc:     fmt.Sprintf("Unlock key %s to decrypt sops's key", k.PublicKey.KeyIdShortString()),
		}
		pass, err := conn.GetPassphrase(&req)
		if err != nil {
			return nil, fmt.Errorf("gpg-agent passphrase request errored: %s", err)
		}
		k.PrivateKey.Decrypt([]byte(pass))
		return []byte(pass), nil
	}
	return nil, fmt.Errorf("No key to unlock")
}
开发者ID:twolfson,项目名称:sops,代码行数:33,代码来源:keysource.go



注:本文中的github.com/howeyc/gopass.GetPasswd函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang gopass.GetPasswdMasked函数代码示例发布时间:2022-05-28
下一篇:
Golang fsnotify.Watcher类代码示例发布时间:2022-05-28
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap