ユーザー入力を要求する場合、パスワードなどの機密情報のエコーを抑制してプライバシーを確保することが重要です。 Go は、getpasswd 機能と同等の機能を使用して、これに対する安全で信頼性の高いソリューションを提供します。
画面に表示せずに標準入力コンソールからパスワード入力にアクセスする目的で、Golang の組み込みのパッケージと外部ライブラリを使用できます。以下は、これを実現する方法に関する詳細なガイドです:
パッケージという用語をインストールします:
まず、機能を提供するパッケージという用語をインストールします。端末入力の管理と出力:
go get golang.org/x/term
認証情報の取得の実装:
次のコード スニペットは、ユーザー名とパスワードの両方を収集するための堅牢なアプローチを示しています。安全に:
package main import ( "bufio" "fmt" "os" "strings" "syscall" "golang.org/x/term" ) func main() { username, password, _ := credentials() fmt.Printf("Username: %s, Password: %s\n", username, password) } func credentials() (string, string, error) { reader := bufio.NewReader(os.Stdin) fmt.Print("Enter Username: ") username, err := reader.ReadString('\n') if err != nil { return "", "", err } fmt.Print("Enter Password: ") bytePassword, err := term.ReadPassword(int(syscall.Stdin)) if err != nil { return "", "", err } password := string(bytePassword) return strings.TrimSpace(username), strings.TrimSpace(password), nil }
使用法:
この機能を利用するには、単純に credentials() 関数を呼び出します。この関数は、ユーザー名とユーザー名を返します。文字列としてのパスワード。例:
username, password, err := credentials() if err != nil { // Handle error } fmt.Printf("Username: %s", username) fmt.Printf("Password: %s", password)
これらの手順を実装することで、Go 開発者は入力中にパスワードを明らかにすることなくユーザー パスワードを簡単に取得でき、アプリケーションのセキュリティとプライバシーを強化できます。
以上がGo でユーザーのパスワードを安全に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。