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

Wie erhalte ich sicher Benutzerkennwörter in Go?

Barbara Streisand
Freigeben: 2024-12-25 20:51:18
Original
808 Leute haben es durchsucht

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
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage