Go/App Engine 中的安全密碼雜湊
在Go/App Engine 應用程式中對使用者密碼進行雜湊處理時,確保安全至關重要的實施情形。本文探討了 bcrypt 函式庫的替代方法,該函式庫因使用系統呼叫而面臨 App Engine 的限制。
替代選項
一種建議的方法是使用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中文網其他相關文章!