ホームページ >バックエンド開発 >Golang >Node.js と Golang の間で Bcrypt パスワード ハッシュの互換性を確保するにはどうすればよいですか?

Node.js と Golang の間で Bcrypt パスワード ハッシュの互換性を確保するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-06 22:46:15771ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。