ユーザー認証のために Node.js から Golang に移行する場合、フレームワーク間でパスワード ハッシュを調整することが不可欠です。 Node.js は安全なパスワード ハッシュに「bcrypt」パッケージを利用します。これにより、次のような疑問が生じます: Golang で同じレベルのセキュリティを実現するにはどうすればよいですか?
Golang Bcrypt 同等
Node.js の「bcrypt」パッケージで採用されているハッシュ メカニズムと一致させるために、Golang は次の形式でソリューションを提供しています。 「golang.org/x/crypto/bcrypt」パッケージ。 Golang での同等のコードは次のようになります。
hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
実装例
Golang でのこの実際の例を考えてみましょう。
package main import ( "golang.org/x/crypto/bcrypt" "fmt" ) func main() { password := []byte("MyDarkSecret") // Hashing the password with the default cost of 10 hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost) if err != nil { panic(err) } fmt.Println(string(hashedPassword)) // Comparing the password with the hash err = bcrypt.CompareHashAndPassword(hashedPassword, password) fmt.Println(err) // nil means it is a match }
このコードでは、自信を持って認証ロジックを Golang に移行し、同じレベルのパスワード セキュリティを確保できます。維持されます。
以上がGolang と Node.js: フレームワークの移行中に Bcrypt パスワード ハッシュのセキュリティを維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。