Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Melaksanakan Kemasukan Kata Laluan Tidak Bergema dalam Go?

Bagaimana untuk Melaksanakan Kemasukan Kata Laluan Tidak Bergema dalam Go?

Linda Hamilton
Lepaskan: 2024-12-29 17:03:10
asal
757 orang telah melayarinya

How to Implement Non-Echoing Password Entry in Go?

Entri Kata Laluan Tidak Bergema dalam Go

Situasi:

Mengambil kata laluan daripada pengguna tanpa memaparkan aksara yang dimasukkan adalah keperluan biasa. Bagaimanakah ini boleh dicapai dalam Go?

Penyelesaian:

Go tidak menawarkan fungsi getpasswd secara langsung. Walau bagaimanapun, pendekatan berikut berjaya menyelesaikan tugas dengan berkesan:

Butiran Pelaksanaan

  1. Lumpuhkan Gema: Untuk menyekat gema aksara, pakej istilah diimport. term.ReadPassword digunakan untuk membaca kata laluan sambil menyembunyikan input pengguna.
  2. Dapatkan Nama Pengguna: Skrip menggesa pengguna untuk nama pengguna menggunakan fmt.Print. Bufio.NewReader digunakan untuk membaca nama pengguna.
  3. Dapatkan Kata Laluan: istilah.ReadPassword digunakan untuk mendapatkan kata laluan selepas menggesa pengguna untuknya. Kata laluan yang dimasukkan oleh pengguna tidak kelihatan dalam konsol.
  4. Pangkas Ruang Putih: Nama pengguna dan kata laluan yang diperoleh dipangkas untuk mengalih keluar sebarang ruang kosong di hadapan atau di belakang.

Contoh:

package main

import (
    "bufio"
    "fmt"
    "golang.org/x/term"
    "os"
    "strings"
)

func main() {
    u, p, _ := credentials()
    fmt.Printf("Username: %s, Password: %s\n", u, p)
}

func credentials() (string, string, error) {
    fmt.Print("Enter Username: ")
    r := bufio.NewReader(os.Stdin)
    u, err := r.ReadString('\n')
    if err != nil {
        return "", "", err
    }

    fmt.Print("Enter Password: ")
    bp, err := term.ReadPassword(int(syscall.Stdin))
    if err != nil {
        return "", "", err
    }

    p := string(bp)
    return strings.TrimSpace(u), strings.TrimSpace(p), nil
}
Salin selepas log masuk

Coretan kod ini menunjukkan proses mendapatkan nama pengguna dan kata laluan daripada pengguna tanpa memaparkan aksara kata laluan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kemasukan Kata Laluan Tidak Bergema 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