syscall や scrypt を使用せずに Golang/App Engine でパスワードを安全にハッシュする
パスワード ハッシュには bcrypt と scrypt が一般的に使用されますが、これらは使用できない場合があります。 Syscall へのアクセシビリティにより、App Engine に適しています。代わりに、安全なパスワード ハッシュ化に go.crypto ライブラリを活用することを検討してください。
go.crypto パッケージは、pbkdf2 と bcrypt の両方のサポートを提供します。どちらの実装も完全に Go で記述されており、App Engine との互換性が確保されています。
1。 bcrypt の使用
次の手順を使用して bcrypt を実装します:
go get golang.org/x/crypto/bcrypt
使用例:
import "golang.org/x/crypto/bcrypt"
func clear(b []byte) {
for i := 0; i これにより、
$2a$10$sylGijT5CIJZ9ViJsxZOS.IB2tOtJ40hf82eFbTwq87iVAOb5GL8e
2 のような出力が生成されます。 pbkdf2 の使用
pbkdf2 を使用した単純なハッシュの場合:
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))
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3