# encrypt-spring-boot-starter **Repository Path**: longfa1999/encrypt-spring-boot-starter ## Basic Information - **Project Name**: encrypt-spring-boot-starter - **Description**: 多场景加解密 混合加密 支持任意请求 任意参数 数据加密 starter - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.longfa.cloud - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 5 - **Created**: 2022-10-18 - **Last Updated**: 2025-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: 前后端加解密, 混合加密, 数据加密, 多场景加解密 ## README # encrypt-spring-boot-starter `encrypt-spring-boot-starter` 是一个专为 Spring Boot 项目打造的数据加密解密框架,提供便捷的注解式加密与解密能力,适用于数据传输和数据存储场景。 ## 特性 - **多种加密算法支持**:支持 AES、SM4、RSA 等主流加密算法。 - **灵活的使用方式**:支持简单注解使用、SpEL 表达式、混合加密等多种使用模式。 - **两大核心场景**: - 数据传输加密解密(前后端分离项目中请求和响应的加密处理) - 数据存储加密解密(数据库存储前加密、读取时解密) ## 安装说明 ### Maven 引入 在 `pom.xml` 中添加以下依赖: ```xml cloud.longfa encrypt-spring-boot-starter 版本号 ``` 请根据您的需求选择合适的版本号。 ## 使用说明 ### 启用加密功能 在您的 Spring Boot 启动类上添加注解: ```java @EnableEncrypt @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` ### 加密注解使用 在需要加密的方法上使用 `@Encrypt` 注解: ```java @RestController public class DataController { @Encrypt(cipherMode = CipherMode.AES) @GetMapping("/data") public String getData() { return "敏感数据"; } } ``` ### 解密注解使用 在需要解密的方法上使用 `@Decrypt` 注解: ```java @RestController public class DataController { @Decrypt(cipherMode = CipherMode.AES) @PostMapping("/decrypt-data") public String receiveData(@RequestBody String encryptedData) { return "已解密数据: " + encryptedData; } } ``` ### 存储场景加密解密 使用 `@Badger` 注解对数据存储字段进行加密处理: ```java public class User { @Badger(cipherMode = CipherMode.SM4) private String password; } ``` ### 混合加密模式 支持动态密钥结合 RSA 和对称加密进行混合加密传输,确保数据传输的高安全性。 ## 配置说明 在 `application.yml` 中配置加密参数: ```yaml encrypt: badger: aes-key: your-aes-key aes-iv: your-aes-iv sm4-key: your-sm4-key sm4-iv: your-sm4-iv private-key: your-private-key public-key: your-public-key ``` ## 支持的加密模式 | 加密算法 | 模式说明 | |----------|----------| | AES | 对称加密,适合快速加密/解密 | | SM4 | 国密算法,适用于符合中国标准的加密需求 | | RSA | 非对称加密,适合密钥交换和数字签名 | | SM3 | 哈希算法,用于数据摘要处理 | ## 优势 - **简单易用**:基于注解和配置实现,开发者无需深入实现细节。 - **性能优秀**:使用线程池优化加密任务调度,支持高并发。 - **可扩展性强**:支持多种加密算法和混合模式,满足不同业务需求。 ## 参与贡献 欢迎贡献代码和提出改进建议。提交 PR 前请确保代码风格与现有代码一致,并添加必要的测试用例。 ## 许可证 该项目基于 [MIT License](LICENSE) 开源,请在项目中尊重并保留相关许可声明。 ## 性能 框架经过优化,适用于中小型项目的数据加密处理,具备良好的并发性能。对于大规模数据处理,建议结合异步加密策略进行使用。