Heim >Backend-Entwicklung >Golang >Wie sichert man Benutzerkennwörter 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!