Golang 中的Bcrypt 密碼雜湊:實作與Node.js 的相容性
將驗證系統從Node.js 遷移到Golang 需要解決密碼雜湊相容性問題。本文介紹了使用 Node.js bcrypt 及其在 Golang 中的等效方案 golang.org/x/crypto/bcrypt 的解決方案。
要在Golang 中複製Node.js bcrypt 產生的雜湊字串,請使用以下程式碼:
hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
這是一個工作範例:
package main import ( "golang.org/x/crypto/bcrypt" "fmt" ) func main() { password := []byte("MyDarkSecret") hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost) if err != nil { panic(err) } fmt.Println(string(hashedPassword)) err = bcrypt.CompareHashAndPassword(hashedPassword, password) fmt.Println(err) // nil means it is a match }
透過利用golang.org/x/crypto/bcrypt,您可以在遷移到Golang 的同時確保與現有身分驗證系統的兼容性。
以上是如何確保 Node.js 和 Golang 之間的 Bcrypt 密碼哈希相容性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!