首頁 > 後端開發 > Golang > 如何確保 Node.js 和 Golang 之間的 Bcrypt 密碼哈希相容性?

如何確保 Node.js 和 Golang 之間的 Bcrypt 密碼哈希相容性?

Barbara Streisand
發布: 2024-12-06 22:46:15
原創
786 人瀏覽過

How Can I Ensure Bcrypt Password Hashing Compatibility Between Node.js and Golang?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板