# lzh-1.8-crypt-spring-boot-starter **Repository Path**: coding_13/lzh-1.8-crypt-spring-boot-starter ## Basic Information - **Project Name**: lzh-1.8-crypt-spring-boot-starter - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-08-10 - **Last Updated**: 2025-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # lzh-1.8-crypt-spring-boot-starter 一个基于 Spring Boot 的加密工具 starter,提供 AES 和 RSA 加密算法的封装,简化加密和解密操作。 ## 功能特性 - **AES 加密/解密**:支持多种 AES 算法模式(如 CBC、GCM 等)。 - **RSA 密钥生成、加密、解密、签名与验签**:支持灵活的 RSA 操作。 - **工具类封装**:提供 `AESUtils` 和 `RSAUtils` 工具类,简化使用流程。 - **异常处理**:统一的异常封装,便于错误追踪和处理。 ## 模块结构 - **AES 加密相关** - `AESKeyPair`:AES 密钥管理。 - `AESAdvancedKeyPair`:支持更复杂 AES 模式的密钥管理。 - `AESUtils`:提供 AES 加密/解密的静态方法。 - `AesAlgorithmEnum`:定义 AES 算法类型。 - **RSA 加密相关** - `RSAKeyPair`:管理 RSA 公钥和私钥,并提供加密、解密、签名和验签功能。 - `RSAPrivateKeyPair`:封装 RSA 私钥操作。 - `RSAPublicKeyPair`:封装 RSA 公钥操作。 - `RSAUtils`:提供 RSA 操作的静态方法。 - `RsaAlgorithmEnum`、`SignAlgorithmEnum`:定义 RSA 和签名算法类型。 - **异常处理** - `CryptException`:基础加密异常类。 - `AESException`、`RSAException`:分别封装 AES 和 RSA 操作中的异常。 - `ErrorCode`:定义错误码枚举。 ## 使用说明 ### 1. 引入依赖 将本项目作为依赖引入你的 Spring Boot 项目中。 ### 2. AES 加密/解密示例 ```java // 生成 AES 密钥 String key = AESUtils.genericKey(); // 加密 String encrypted = AESUtils.encrypt(AesAlgorithmEnum.AES_128_CBC, "Hello, World!", key); // 解密 String decrypted = AESUtils.decrypt(AesAlgorithmEnum.AES_128_CBC, encrypted, key); ``` ### 3. RSA 密钥生成与加解密示例 ```java // 生成 RSA 密钥对 RSAKeyPair keyPair = RSAUtils.createRSAKeyPair(); // 使用公钥加密 String encrypted = RSAUtils.encrypt(keyPair, "Secret Data"); // 使用私钥解密 String decrypted = RSAUtils.decrypt(keyPair, encrypted); ``` ### 4. 签名与验签 ```java // 签名 String signature = RSAUtils.sign(keyPair, "Data to sign"); // 验签 boolean isValid = RSAUtils.verify(keyPair, "Data to sign", signature); ``` ## 异常处理 所有加密操作均抛出 `CryptException` 或其子类(如 `AESException`、`RSAException`),可捕获并处理异常信息。 ## 许可证 本项目遵循 MIT 许可证。详情请查看 [LICENSE](LICENSE) 文件。