Go と Node.js 間の Bcrypt パスワード ハッシュの互換性
Node.js から Go への移行では、下位互換性を維持することが重要ですユーザーパスワードはデータベースに保存されます。これには、Go で Node.js の bcrypt パスワード ハッシュ機能を複製する必要があります。
Node.js では、bcrypt 暗号化コードは bcrypt ライブラリを利用して、ユーザーのパスワードからソルト付きハッシュを生成します。 golang.org/x/crypto/bcrypt パッケージを使用した Go の同等のコードは次のとおりです。
hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
この関数は、Node.js コードによって生成された出力と互換性のあるハッシュされたパスワード文字列を生成します。
次の Go の実際の例は、bcrypt パスワード ハッシュ プロセスを示しています:
package main import ( "golang.org/x/crypto/bcrypt" "fmt" ) func main() { password := []byte("SomeSecretPassword") hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost) if err != nil { panic(err) } fmt.Println(string(hashedPassword)) err = bcrypt.CompareHashAndPassword(hashedPassword, password) if err == nil { fmt.Println("Password matches hash.") } else { fmt.Println("Password does not match hash.") } }
以上がGo と Node.js の間で Bcrypt パスワード ハッシュの互換性を確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。