>백엔드 개발 >Golang >Go에서 사용자 비밀번호를 안전하게 얻는 방법은 무엇입니까?

Go에서 사용자 비밀번호를 안전하게 얻는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-25 20:51:18811검색

How to Securely Get User Passwords in Go?

Go에서 안전한 비밀번호 입력

사용자 비밀번호를 얻을 때 입력한 문자가 화면에 표시되지 않도록 하는 것이 중요합니다. 이렇게 하면 비밀번호의 기밀이 유지됩니다.

Go에서 이를 달성하려면 golang.org/x/term 패키지를 활용할 수 있습니다.

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
}

사용법:

  • term.ReadPassword를 호출하여 시스템에 암호를 표시하지 않고 사용자에게 암호를 묻는 메시지를 표시합니다. screen.
  • 사용자 이름을 읽고 후행 줄 바꿈을 제거하려면 bufio.NewReader(os.Stdin).ReadString('n')을 사용하세요.
  • 입력한 값을 반환하기 전에 공백을 제거하세요.

이 접근 방식은 Go에서 입력한 문자가 절대 표시되지 않기 때문에 Go에서 비밀번호를 얻는 안전한 방법을 제공합니다. 화면.

위 내용은 Go에서 사용자 비밀번호를 안전하게 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.