Documentation
¶
Index ¶
- Constants
- func ClearEncryptionKey()
- func Compress(data []byte) ([]byte, error)
- func Decompress(data []byte) ([]byte, error)
- func Decrypt(encrypted []byte, iv []byte) ([]byte, error)
- func Encrypt(data []byte) ([]byte, []byte, error)
- func IsEncryptionEnabled() bool
- func SetEncryptionKey(key [32]byte) error
- func ShouldCompress(size uint) bool
Constants ¶
const ( // AESKeySize - размер ключа AES-256 (32 байта) AESKeySize = 32 // AESIVSize - размер IV для AES-GCM (12 байт) AESIVSize = 12 // AESGCMTagSize - размер аутентификационного tag (16 байт) AESGCMTagSize = 16 )
Variables ¶
This section is empty.
Functions ¶
func ClearEncryptionKey ¶
func ClearEncryptionKey()
ClearEncryptionKey очищает ключ из памяти (заполняет нулями)
func Compress ¶
Compress сжимает данные через zlib deflate Если сжатие неэффективно (размер увеличился), возвращает ошибку Использует уровень компрессии 6
func Decompress ¶
Decompress распаковывает данные через zlib inflate Автоматически определяет размер буфера
func Decrypt ¶
Decrypt расшифровывает данные через AES-256-GCM Проверяет аутентификационный tag encrypted должен содержать зашифрованные данные с tag в конце iv - это IV из начала зашифрованных данных
func Encrypt ¶
Encrypt шифрует данные через AES-256-GCM Возвращает зашифрованные данные и IV IV генерируется случайно для каждого шифрования Формат результата: [IV 12 bytes] [Encrypted data] [Tag 16 bytes]
func IsEncryptionEnabled ¶
func IsEncryptionEnabled() bool
IsEncryptionEnabled проверяет, установлен ли ключ шифрования
func SetEncryptionKey ¶
SetEncryptionKey устанавливает глобальный ключ шифрования Thread-safe
func ShouldCompress ¶
ShouldCompress проверяет, нужна ли компрессия для данных указанного размера
Types ¶
This section is empty.