Overview
Dongle
is a simple, semantic and developer-friendly golang crypto package with 100%
unit test coverage,has been included by awesome-go
Feature
- Comprehensive Encoding Algorithm Support: Supports multiple encoding formats including Base32/Base45/Base58/Base62/Base64/Base85/Base91/Base100/Hex/Morse
- Robust Hashing Algorithm Support: Supports various hashing algorithms including MD2/MD4/MD5, SHA1/SHA2/SHA3, RIPEMD160, and HMAC message authentication
- Complete Cryptographic Algorithm Support: Supports symmetric encryption algorithms such as RC4, AES, DES, 3DES, Blowfish, and asymmetric encryption algorithms like RSA
- Reliable Digital Signature Support: Provides digital signature generation and verification with PKCS1/PKCS8 key format support, ensuring data integrity and identity authentication
- Efficient Streaming Processing: Supports streaming encoding/decoding and encryption/decryption for large files, processing data incrementally without waiting for complete data, resulting in low memory footprint
- Comprehensive Test Coverage: 100% unit test coverage with extensive testing for all encryption, decryption, hashing, HMAC, and encoding/decoding modules, covering all edge cases and exceptional scenarios
- Secure and Reliable Design: Provides security features including input validation, error handling, memory safety, with support for key management and unified error messaging
- Detailed Error Handling: Offers comprehensive error information and types with error chain tracing support, facilitating debugging and issue resolution