ホームページ > バックエンド開発 > Golang > Go でユーザーのパスワードを安全に取得するにはどうすればよいですか?

Go でユーザーのパスワードを安全に取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-23 06:19:14
オリジナル
776 人が閲覧しました

How Can I Securely Retrieve User Passwords in Go?

Go でユーザー パスワードを安全に取得する: getpasswd 機能のガイド

ユーザー入力を要求する場合、パスワードなどの機密情報のエコーを抑制してプライバシーを確​​保することが重要です。 Go は、getpasswd 機能と同等の機能を使用して、これに対する安全で信頼性の高いソリューションを提供します。

画面に表示せずに標準入力コンソールからパスワード入力にアクセスする目的で、Golang の組み込みのパッケージと外部ライブラリを使用できます。以下は、これを実現する方法に関する詳細なガイドです:

  1. パッケージという用語をインストールします:

    まず、機能を提供するパッケージという用語をインストールします。端末入力の管理と出力:

    go get golang.org/x/term
    ログイン後にコピー
  2. 認証情報の取得の実装:

    次のコード スニペットは、ユーザー名とパスワードの両方を収集するための堅牢なアプローチを示しています。安全に:

    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
    }
    ログイン後にコピー
  3. 使用法:

    この機能を利用するには、単純に credentials() 関数を呼び出します。この関数は、ユーザー名とユーザー名を返します。文字列としてのパスワード。例:

    username, password, err := credentials()
    if err != nil {
        // Handle error
    }
    
    fmt.Printf("Username: %s", username)
    fmt.Printf("Password: %s", password)
    ログイン後にコピー

これらの手順を実装することで、Go 開発者は入力中にパスワードを明らかにすることなくユーザー パスワードを簡単に取得でき、アプリケーションのセキュリティとプライバシーを強化できます。

以上がGo でユーザーのパスワードを安全に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート