Sicheres Passwort-Hashing in Go/App Engine
Beim Hashing von Benutzerpasswörtern in einer Go/App Engine-Anwendung ist es von entscheidender Bedeutung, die Sicherheit zu gewährleisten der Umsetzung. In diesem Artikel werden alternative Methoden zur bcrypt-Bibliothek untersucht, die bei App Engine aufgrund der Verwendung von syscall Einschränkungen unterliegt.
Alternative Optionen
Ein empfohlener Ansatz ist die Verwendung von go.crypto-Paket, das reine Go-Implementierungen von bcrypt und pbkdf2 bereitstellt. Diese Implementierungen sind für die Verwendung auf App Engine geeignet.
Bcrypt verwenden
Um bcrypt zu verwenden, installieren Sie das Paket mit go get und importieren Sie es in Ihren Code:
<code class="go">import "golang.org/x/crypto/bcrypt"</code>
Um ein Passwort zu hashen, verwenden Sie die GenerateFromPassword-Funktion:
<code class="go">func Crypt(password []byte) ([]byte, error) { defer clear(password) return bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost) }</code>
Verwenden von pbkdf2
Wenn Sie einen einfacheren Hashing-Mechanismus bevorzugen, können Sie diesen verwenden pbkdf2:
<code class="go">import "golang.org/x/crypto/pbkdf2" func HashPassword(password, salt []byte) []byte { defer clear(password) return pbkdf2.Key(password, salt, 4096, sha256.Size, sha256.New) }</code>
Fazit
Sowohl bcrypt als auch pbkdf2 bieten sichere und effiziente Optionen für das Passwort-Hashing in Go/App Engine-Anwendungen. Durch die Verwendung der in go.crypto verfügbaren reinen Go-Implementierungen können Sie die Sicherheit und Kompatibilität Ihres Codes gewährleisten.
Das obige ist der detaillierte Inhalt vonSo hashen Sie Passwörter sicher in Go/App Engine: Jenseits von bcrypt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!