跳轉到內容

加密解密

概述

Goravel 的加密服務提供了簡單方便的介面,可以通過 OpenSSL 使用 AES-256 加密進行文字的加密和解密。 所有 Goravel 的加密值都使用消息認證碼 (GMAC) 簽名,以確保其底層值在加密後不會被修改或篡改。

配置

在使用 Goravel 的加密工具之前,你必須在 config/app.go 配置文件中設置 key 配置選項。 此選項由 APP_KEY 環境變數驅動。 使用 go run . artisan key:generate 命令來生成該變數的值,因為 key:generate 命令將使用 Golang 的安全隨機字節生成器為你的應用程序生成安全的加密密鑰。

使用加密器

加密一個值

要加密一個值,你可以使用 facades.Crypt() 中的 EncryptString 方法。 此方法使用 OpenSSL 和 AES-256-GCM 密碼加密值。 此外,所有加密值都使用消息認證碼 (GMAC) 進行簽名,以防止惡意用戶通過篡改數據來進行解密。

go
secret, err := facades.Crypt().EncryptString("goravel")

解密一個值

你可以使用 facades.Crypt() 提供的 DecryptString 來解密值。 如果該值無法正確解密,例如消息認證碼 (MAC) 無效,則會返回錯誤。 如果該值無法正確解密,例如消息認證碼無效,將返回錯誤。

go
str, err := facades.Crypt().DecryptString(secret)

基於 MIT 许可發佈