cryptox

package
v1.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const EncryptedPrefix = "ENC:"

EncryptedPrefix 全局前缀

Variables

This section is empty.

Functions

func DecryptAES

func DecryptAES(key string, encryptedText string) (string, error)

DecryptAES decrypts an encrypted string into the original data type 为了向后兼容,保留此函数

func EncryptAES

func EncryptAES(key string, data string) (string, error)

EncryptAES encrypts any data type using a given key 为了向后兼容,保留此函数

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

func MustNewAESCrypto(key string) Crypto

MustNewAESCrypto 包装 NewAESCrypto,出错时直接 panic (配合 Builder 模式使用)

func MustNewAESCryptoV2 added in v1.11.0

func MustNewAESCryptoV2(key string) Crypto

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

func NewAESCrypto(key string) (*CryptoAES, error)

NewAESCrypto 创建 AES 加密器 (遗留 V1 版本,带 JSON 序列化和截断密钥)

func (*CryptoAES) Decrypt added in v1.9.1

func (a *CryptoAES) Decrypt(encryptedText string) (string, error)

Decrypt 解密

func (*CryptoAES) Encrypt added in v1.9.1

func (a *CryptoAES) Encrypt(plainText string) (string, error)

Encrypt 加密

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 字节密钥)

func (*CryptoAESV2) Decrypt added in v1.11.0

func (a *CryptoAESV2) Decrypt(encryptedText string) (string, error)

Decrypt 解密

func (*CryptoAESV2) Encrypt added in v1.11.0

func (a *CryptoAESV2) Encrypt(plainText string) (string, error)

Encrypt 加密

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL