package
1.0.36
Repository: https://github.com/axgrid/axutils.git
Documentation: pkg.go.dev

# README

axutils

axutils - это библиотека Go, предоставляющая различные утилиты для работы с каналами, коллекциями, криптографией и другими часто используемыми структурами данных. Эта библиотека разработана для упрощения работы с асинхронными операциями, обработкой данных и безопасностью в Go-приложениях.

Установка

Для установки библиотеки используйте команду:

go get github.com/axgrid/axutils

Пакет crypto в axutils предоставляет удобные инструменты для выполнения криптографических операций.

AES шифрование

AES структура предоставляет методы для шифрования и дешифрования данных с использованием алгоритма AES в режиме GCM (Galois/Counter Mode).

Основные возможности:

  • Шифрование данных с использованием AES-GCM
  • Дешифрование данных, зашифрованных AES-GCM
  • Автоматическая генерация случайного nonce для каждой операции шифрования

Пример использования:

secretKey := []byte("a very secret key") // 16 bytes for AES-128, 32 bytes for AES-256
aesInstance := crypto.NewAES(secretKey)

data := []byte("sensitive data")

// Шифрование
encryptedData, err := aesInstance.Encrypt(data)
if err != nil {
    log.Fatal(err)
}

// Дешифрование
decryptedData, err := aesInstance.Decrypt(encryptedData)
if err != nil {
    log.Fatal(err)
}

fmt.Printf("Decrypted data: %s\n", string(decryptedData))

MD5 хеширование

Пакет crypto также предоставляет функции для вычисления MD5 хеша.

Основные функции:

  • GetMD5Hash: Возвращает MD5 хеш в виде строки шестнадцатеричных символов
  • GetMD5HashBytes: Возвращает MD5 хеш в виде среза байтов

Пример использования:

text := "Hello, world!"

// Получение MD5 хеша в виде строки
md5Hash := crypto.GetMD5Hash(text)
fmt.Printf("MD5 hash: %s\n", md5Hash)

// Получение MD5 хеша в виде байтов
md5HashBytes := crypto.GetMD5HashBytes(text)
fmt.Printf("MD5 hash bytes: %v\n", md5HashBytes)

Примечание: MD5 считается криптографически слабым и не рекомендуется для использования в целях безопасности. Рассмотрите возможность использования более стойких алгоритмов хеширования, таких как SHA-256, для критически важных приложений.

Заключение

Библиотека axutils предоставляет широкий набор инструментов для эффективной работы с данными, асинхронными операциями и криптографией в Go. Использование этих утилит может значительно упростить разработку и повысить производительность и безопасность ваших приложений.

Для получения дополнительной информации о других утилитах библиотеки, пожалуйста, обратитесь к документации кода или примерам использования.

# Functions

No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author