Heim >Backend-Entwicklung >Golang >Wie sichert man Benutzerkennwörter in Go on App Engine?

Wie sichert man Benutzerkennwörter in Go on App Engine?

DDD
DDDOriginal
2024-10-30 08:42:28422Durchsuche

How to Secure User Passwords in Go on App Engine?

Benutzerkennwörter in Go auf App Engine sichern

Beim Umgang mit Benutzerkennwörtern in Go-Anwendungen, die auf Google App Engine bereitgestellt werden, ist Sicherheit von größter Bedeutung. Die bcrypt-Bibliothek ist zwar effektiv beim Passwort-Hashing, weist jedoch aufgrund der Verwendung von Syscall Einschränkungen auf. Aus diesem Grund suchen Entwickler möglicherweise nach alternativen Methoden für sicheres Passwort-Hashing.

Eine zuverlässige Option ist die Nutzung des Pakets golang.org/x/crypto, das native Implementierungen von PBKDF2 und bcrypt bereitstellt. Diese Implementierungen eliminieren die Abhängigkeit von Syscall und sind somit für App Engine geeignet.

bcrypt verwenden

Um bcrypt zu verwenden, befolgen Sie diese Schritte:

1. Install the package:

go get golang.org/x/crypto/bcrypt
2. Example usage:

package main

import (
    "fmt"
    "golang.org/x/crypto/bcrypt"
)

func main() {
    pass := []byte("your password")

    // Generate a hashed password
    ctext, err := bcrypt.GenerateFromPassword(pass, bcrypt.DefaultCost)
    if err != nil {
        // Handle error
    }

    fmt.Println(string(ctext)) // Example output: a$sylGijT5CIJZ9ViJsxZOS.IB2tOtJ40hf82eFbTwq87iVAOb5GL8e
}

Verwendung von PBKDF2

Für einfachere Hashing-Anforderungen kann PBKDF2 verwendet werden:

1. Install the package:

go get golang.org/x/crypto/pbkdf2
2. Example usage:

package main

import (
    "fmt"
    "golang.org/x/crypto/pbkdf2"
)

func main() {
    pass := []byte("your password")
    salt := []byte("your salt")

    // Generate a hash
    hash := pbkdf2.Key(pass, salt, 4096, sha256.Size, sha256.New)

    fmt.Printf("%x\n", hash) // Example output: 0x079b8238d3815d31d87d75ff893371ac3cc875f97eca499854655da9554d2555
}

Das obige ist der detaillierte Inhalt vonWie sichert man Benutzerkennwörter in Go on App Engine?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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