Rumah >pembangunan bahagian belakang >Golang >Bagaimana Saya Boleh Dapatkan Kata Laluan Pengguna dengan Selamat dalam Go?

Bagaimana Saya Boleh Dapatkan Kata Laluan Pengguna dengan Selamat dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-12-23 06:19:14777semak imbas

How Can I Securely Retrieve User Passwords in Go?

Mengambil Kata Laluan Pengguna Dengan Selamat dalam Go: Panduan untuk Kefungsian getpasswd

Apabila meminta input pengguna, adalah penting untuk memastikan privasi dengan menyekat bergema maklumat sensitif seperti kata laluan. Go menyediakan penyelesaian yang selamat dan boleh dipercayai untuk perkara ini dengan fungsi yang setara dengan fungsi getpasswd.

Untuk tujuan mengakses entri kata laluan daripada konsol input standard tanpa memaparkannya pada skrin, gabungan terbina dalam Golang pakej dan perpustakaan luar boleh digunakan. Di bawah ialah panduan terperinci tentang cara untuk mencapai ini:

  1. Pasang istilah Pakej:

    Mulakan dengan memasang pakej istilah, yang menawarkan fungsi untuk menguruskan input dan output terminal:

    go get golang.org/x/term
  2. Laksanakan Pendapatan Bukti Kelayakan:

    Coretan kod berikut menunjukkan pendekatan yang mantap untuk mengumpul kedua-dua nama pengguna dan kata laluan dengan selamat:

    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. Penggunaan:

    Untuk menggunakan fungsi ini, hanya hubungi credentials(), yang mengembalikan kedua-dua nama pengguna dan kata laluan sebagai rentetan. Contohnya:

    username, password, err := credentials()
    if err != nil {
        // Handle error
    }
    
    fmt.Printf("Username: %s", username)
    fmt.Printf("Password: %s", password)

Dengan melaksanakan langkah ini, pembangun Go boleh mendapatkan kata laluan pengguna dengan mudah tanpa mendedahkannya semasa input, meningkatkan keselamatan dan privasi aplikasi mereka.

Atas ialah kandungan terperinci Bagaimana Saya Boleh Dapatkan Kata Laluan Pengguna dengan Selamat dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn