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