Heim >Backend-Entwicklung >Golang >Wie erhalte ich sicher Benutzerkennwörter in Go?

Wie erhalte ich sicher Benutzerkennwörter in Go?

Barbara Streisand
Barbara StreisandOriginal
2024-12-25 20:51:18849Durchsuche

How to Securely Get User Passwords in Go?

Sichere Passworteingabe in Go

Beim Erhalten von Benutzerpasswörtern ist es wichtig zu verhindern, dass die eingegebenen Zeichen auf dem Bildschirm angezeigt werden. Dadurch wird sichergestellt, dass das Passwort vertraulich bleibt.

Um dies in Go zu erreichen, können Sie das Paket golang.org/x/term nutzen.

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
}

Verwendung:

  • Rufen Sie term.ReadPassword auf, um den Benutzer zur Eingabe eines Passworts aufzufordern, ohne es auf dem wiederzugeben Bildschirm.
  • Verwenden Sie bufio.NewReader(os.Stdin).ReadString('n'), um den Benutzernamen zu lesen und nachfolgende Zeilenumbrüche zu entfernen.
  • Entfernen Sie Leerzeichen aus den eingegebenen Werten, bevor Sie sie zurückgeben.

Dieser Ansatz bietet eine sichere Möglichkeit, Passwörter in Go zu erhalten, da die eingegebenen Zeichen niemals auf dem angezeigt werden Bildschirm.

Das obige ist der detaillierte Inhalt vonWie erhalte ich sicher Benutzerkennwörter in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn