プロジェクト概要
dongle は軽量で、セマンティックで、開発者フレンドリーな golang エンコード&暗号ライブラリです。充実した単体テストカバレッジを誇り、awesome-go に収録され、gitee 2024年最有価值プロジェクト(GVP)および gitcode 2024年度オープンソース摘星計画 (G-Star) プロジェクトを受賞


プロジェクト特性
- 豊富なエンコードアルゴリズムサポート:Base32/Base45/Base58/Base62/Base64/Base85/Base91/Base100/Hex/Morse/Unicode 等の多種のエンコード形式をサポート
- 強力なハッシュアルゴリズムサポート:MD2/MD4/MD5、SHA1/SHA2/SHA3、SM3、BLAKE2b/BLAKE2s、RIPEMD160 等の多種のハッシュアルゴリズムと HMAC メッセージ認証をサポート
- 完全な暗号化アルゴリズムサポート:RC4、AES、DES、3DES、Blowfish、SM4、ChaCha20、ChaCha20-Poly1305、Salsa20、TEA/XTea、Twofish 等の対称暗号化アルゴリズム、および RSA、SM2 等の非対称暗号化アルゴリズムをサポート
- 信頼性のある署名検証サポート:RSA、ED25519、SM2 のデジタル署名と検証をサポート、PKCS#1、PKCS#8、SPKI/PKIX 鍵形式サポートを提供、データの完全性と身元認証を保証
- 高効率なストリーム処理:大型ファイルのストリーム式エンコード・デコード、暗号化・復号化をサポート、ほとんどのアルゴリズムは読み込みながら処理し、全データを待つ必要がなく、メモリ占用量が低い。Base58/Base62 と SM2 はアルゴリズム特性上、入力を全体でバッファリングします
- 全面的なテストカバレッジ:充実した単体テストカバレッジ、全ての エンコード/デコード、暗号化/復号化、HASH/HMAC、署名/検証モジュールに全面的な単体テストがあり、全ての境界と異常状況をカバー
- 安全で信頼性の高い設計:入力検証、エラー処理、メモリ安全等の安全特性を提供、鍵管理とエラーメッセージ統一をサポート
- 詳細なエラー処理:詳細なエラー情報とタイプを提供、エラーチェーン追跡をサポート、デバッグと問題特定を容易にする