ホームページ  >  記事  >  バックエンド開発  >  Go/App Engine でパスワードを安全にハッシュする方法: bcrypt を超えて

Go/App Engine でパスワードを安全にハッシュする方法: bcrypt を超えて

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-31 07:49:30281ブラウズ

How to Securely Hash Passwords in Go/App Engine: Beyond bcrypt

Go/App Engine での安全なパスワード ハッシュ

Go/App Engine アプリケーションでユーザー パスワードをハッシュする場合、セキュリティを確保することが重要です実装の。この記事では、syscall の使用により App Engine で制限に直面する bcrypt ライブラリの代替方法について説明します。

代替オプション

推奨されるアプローチの 1 つは、 go.crypto パッケージは、bcrypt と pbkdf2 の両方の純粋な Go 実装を提供します。これらの実装は、App Engine での使用に適しています。

bcrypt の使用

bcrypt を使用するには、go get を使用してパッケージをインストールし、コードにインポートします。

<code class="go">import "golang.org/x/crypto/bcrypt"</code>

パスワードをハッシュするには、GenerateFromPassword 関数を使用します。

<code class="go">func Crypt(password []byte) ([]byte, error) {
    defer clear(password)
    return bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
}</code>

pbkdf2 を使用する

より単純なハッシュ メカニズムを使用したい場合は、以下を使用できます。 pbkdf2:

<code class="go">import "golang.org/x/crypto/pbkdf2"

func HashPassword(password, salt []byte) []byte {
    defer clear(password)
    return pbkdf2.Key(password, salt, 4096, sha256.Size, sha256.New)
}</code>

結論

bcrypt と pbkdf2 はどちらも、Go/App Engine アプリケーションでのパスワード ハッシュのための安全かつ効率的なオプションを提供します。 go.crypto で利用可能な純粋な Go 実装を使用することで、コードのセキュリティと互換性を確保できます。

以上がGo/App Engine でパスワードを安全にハッシュする方法: bcrypt を超えての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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