在 App Engine 上使用 Golang 保護密碼
當涉及到 Web 應用程式的密碼雜湊時,安全性至關重要。雖然像 bcrypt 這樣的流行庫由於依賴某些系統呼叫而不適合 App Engine,但有一些替代方法可以提供強大的保護等級。
安全雜湊選項
App Engine 透過 go.crypto 套件支援雜湊演算法。該軟體包提供兩個安全選項:
推薦: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:如果重點僅在於雜湊而不是密碼驗證,則可以使用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中文網其他相關文章!