optimize

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 23, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
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

func Compress(data []byte) ([]byte, error)

Compress сжимает данные через zlib deflate Если сжатие неэффективно (размер увеличился), возвращает ошибку Использует уровень компрессии 6

func Decompress

func Decompress(data []byte) ([]byte, error)

Decompress распаковывает данные через zlib inflate Автоматически определяет размер буфера

func Decrypt

func Decrypt(encrypted []byte, iv []byte) ([]byte, error)

Decrypt расшифровывает данные через AES-256-GCM Проверяет аутентификационный tag encrypted должен содержать зашифрованные данные с tag в конце iv - это IV из начала зашифрованных данных

func Encrypt

func Encrypt(data []byte) ([]byte, []byte, error)

Encrypt шифрует данные через AES-256-GCM Возвращает зашифрованные данные и IV IV генерируется случайно для каждого шифрования Формат результата: [IV 12 bytes] [Encrypted data] [Tag 16 bytes]

func IsEncryptionEnabled

func IsEncryptionEnabled() bool

IsEncryptionEnabled проверяет, установлен ли ключ шифрования

func SetEncryptionKey

func SetEncryptionKey(key [32]byte) error

SetEncryptionKey устанавливает глобальный ключ шифрования Thread-safe

func ShouldCompress

func ShouldCompress(size uint) bool

ShouldCompress проверяет, нужна ли компрессия для данных указанного размера

Types

This section is empty.

Jump to

Keyboard shortcuts

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