Documentation
¶
Index ¶
- Constants
- func DecryptAES(key string, encryptedText string) (string, error)
- func EncryptAES(key string, data string) (string, error)
- type Crypto
- type CryptoAES
- type CryptoAESV2
- type CryptoManager
- func (m *CryptoManager) Decrypt(encryptedText string) (string, error)
- func (m *CryptoManager) Encrypt(plainText string) (string, error)
- func (m *CryptoManager) Register(version string, algo Crypto) *CryptoManager
- func (m *CryptoManager) WithLegacyAlgo(version string) *CryptoManager
- func (m *CryptoManager) WithMigrationHandler(handler MigrationHandler) *CryptoManager
- type CryptoRegistry
- type MigrationHandler
Constants ¶
View Source
const EncryptedPrefix = "ENC:"
EncryptedPrefix 全局前缀
Variables ¶
This section is empty.
Functions ¶
func DecryptAES ¶
DecryptAES decrypts an encrypted string into the original data type 为了向后兼容,保留此函数
Types ¶
type Crypto ¶ added in v1.9.1
type Crypto interface {
// Encrypt 加密数据
Encrypt(plainText string) (string, error)
// Decrypt 解密数据
Decrypt(encryptedText string) (string, error)
}
Crypto 定义通用加密解密接口
func MustNewAESCrypto ¶ added in v1.11.0
MustNewAESCrypto 包装 NewAESCrypto,出错时直接 panic (配合 Builder 模式使用)
func MustNewAESCryptoV2 ¶ added in v1.11.0
MustNewAESCryptoV2 包装 NewAESCryptoV2,出错时直接 panic (配合 Builder 模式使用)
type CryptoAES ¶ added in v1.9.1
type CryptoAES struct {
// contains filtered or unexported fields
}
CryptoAES AES 加密器实现 (遗留 V1)
func NewAESCrypto ¶ added in v1.9.1
NewAESCrypto 创建 AES 加密器 (遗留 V1 版本,带 JSON 序列化和截断密钥)
type CryptoAESV2 ¶ added in v1.11.0
type CryptoAESV2 struct {
// contains filtered or unexported fields
}
CryptoAESV2 AES V2 加密器实现
func NewAESCryptoV2 ¶ added in v1.11.0
func NewAESCryptoV2(key string) (*CryptoAESV2, error)
NewAESCryptoV2 创建安全强化的 V2 AES 加密器 (不带 JSON,且固定 SHA256 为 32 字节密钥)
type CryptoManager ¶ added in v1.9.1
type CryptoManager struct {
// contains filtered or unexported fields
}
CryptoManager 统一管理多种加密算法(支持多版本)
func NewCryptoManager ¶ added in v1.9.1
func NewCryptoManager(defaultVer string) *CryptoManager
NewCryptoManager 创建新的 CryptoManager
func (*CryptoManager) Decrypt ¶ added in v1.9.1
func (m *CryptoManager) Decrypt(encryptedText string) (string, error)
Decrypt 解密(自动识别版本,兼容历史数据)
func (*CryptoManager) Encrypt ¶ added in v1.9.1
func (m *CryptoManager) Encrypt(plainText string) (string, error)
Encrypt 加密 自动给旧数据加上 ENC:<version>: 前缀
func (*CryptoManager) Register ¶ added in v1.11.0
func (m *CryptoManager) Register(version string, algo Crypto) *CryptoManager
Register 注册符合 Crypto 接口的加密算法策略,绑定到一个版本号
func (*CryptoManager) WithLegacyAlgo ¶ added in v1.9.1
func (m *CryptoManager) WithLegacyAlgo(version string) *CryptoManager
WithLegacyAlgo 设置历史兼容算法(老数据没加 ENC: 前缀时使用)
func (*CryptoManager) WithMigrationHandler ¶ added in v1.9.1
func (m *CryptoManager) WithMigrationHandler(handler MigrationHandler) *CryptoManager
WithMigrationHandler 设置迁移回调
type CryptoRegistry ¶ added in v1.9.1
type CryptoRegistry struct {
User *CryptoManager
Resource *CryptoManager
Runner *CryptoManager
}
type MigrationHandler ¶ added in v1.9.1
type MigrationHandler func(oldEnc, newEnc string)
Click to show internal directories.
Click to hide internal directories.