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
Lepaskan: 2024-12-23 06:19:14
asal
776 orang telah melayarinya

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
    Salin selepas log masuk
  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
    }
    Salin selepas log masuk
  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)
    Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan