# crypto **Repository Path**: ztwlla/crypto ## Basic Information - **Project Name**: crypto - **Description**: No description available - **Primary Language**: C++ - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-16 - **Last Updated**: 2026-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # crypto C++ 加密/哈希算法库,提供 MD5、SHA1、Base64、CRC 等算法。 ## 编译要求 - C++20 - CMake ≥ 3.14 ## 依赖 无外部依赖,纯自包含实现。 ## 编译安装 ```bash mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/install -DCMAKE_BUILD_TYPE=Release make make install ``` 安装后头文件位于 `/include/crypto/`,库文件位于 `/lib/libcrypto.a`。 ## API 所有类位于 `namespace crypto`: | 类 | 说明 | 主要方法 | |---|---|---| | `SHA1` | SHA-1 哈希 | `Compute()`, `ComputeHex()`, `Update()`, `Finalize()`, `File()` | | `MD5` | MD5 哈希 | `Compute()`, `HexDigest()`, `Update()`, `Finalize()` | | `Base64` | Base64 编解码 | `Encode()`, `Decode()` | | `CRC` | CRC 校验 | `CRC16_*()`, `CRC32_*()`, `CRC4/5/6/7/8_*()` | ## 示例 ```cpp #include "sha1.h" #include "base64.h" #include "md5.h" // SHA1 一次性计算 uint8_t digest[20]; crypto::SHA1 sha; sha.Compute(data, len, digest); auto hex = crypto::SHA1::ComputeHex(data, len); // 返回 40 字符十六进制字符串 // Base64 编码 std::string encoded = crypto::Base64::Encode(data, len); std::string decoded = crypto::Base64::Decode(encoded, out_len); // MD5 crypto::MD5 md5; md5.Compute(data, length); std::string hex = md5.HexDigest(); ```