App Engine 上の Golang でのパスワードの保護
Web アプリケーションのパスワード ハッシュに関しては、セキュリティが最も重要です。 bcrypt などの一般的なライブラリは、特定のシステム コールに依存しているため App Engine には適していませんが、堅牢なレベルの保護を提供する代替方法があります。
セキュア ハッシュ オプション
App Engine は go.crypto パッケージを通じてハッシュ アルゴリズムをサポートしています。このパッケージは 2 つの安全なオプションを提供します:
推奨事項: bcrypt
使いやすさと実証済みの有効性を考慮すると、bcrypt が推奨される選択肢です。これは、高品質のハッシュを生成する使いやすいアルゴリズムです。
実装
<code class="go">import "golang.org/x/crypto/bcrypt" func Crypt(password []byte) ([]byte, error) { defer clear(password) return bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost) } ctext, err := Crypt(pass) if err != nil { log.Fatal(err) } fmt.Println(string(ctext))</code>
出力は次のような文字列になります。
a$sylGijT5CIJZ9ViJsxZOS.IB2tOtJ40hf82eFbTwq87iVAOb5GL8e
ハッシュ用の 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) } pass := []byte("foo") salt := []byte("bar") fmt.Printf("%x\n", HashPassword(pass, salt))</code>
これらを採用することで、安全なパスワード ハッシュ オプションにより、開発者は App Engine 上で実行される Golang アプリケーション上のユーザー認証情報を効果的に保護できます。
以上がApp Engine 上の Golang アプリケーションでパスワードを保護するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。