# privacy-spring-boot-starter **Repository Path**: china-zhz/privacy-spring-boot-starter ## Basic Information - **Project Name**: privacy-spring-boot-starter - **Description**: 基于mybatis对隐私数据处理如加密、解密、脱敏等 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 28 - **Forks**: 29 - **Created**: 2021-11-17 - **Last Updated**: 2025-08-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # privacy-spring-boot-starter #### 介绍 基于mybatis对隐私数据处理如加密、解密、脱敏等 springboot 2.0 mybatis 3.5 #### 软件架构 软件架构说明 #### 安装教程 #### 使用说明 1. 添加依赖 ``` com.gitee.china-zhz privacy-spring-boot-starter 1.3.2 ``` ``` jitpack.io https://jitpack.io ``` 2. @FieldEncrypt注解放到要加密解密类的属性上就可以了如: ``` @FieldEncrypt private String password; ``` 3. @FieldEncrypt 注解默认使用AES算法,现在是集成了两种算法MD5和AES ,MD5是不可逆算法不可以解密,AES可以反向解密,默认的AES加密解密时我固定了一个秘钥,如果想自定义秘钥有两种方式: ① 全局配置yml文件 ``` privacy: crypto: key: jshfdiwhfkjncwolmas ``` ② 加注解上 ``` @FieldEncrypt(key = "qwertyuiop") private String password; ``` **注解秘钥优先级高于全局秘钥** 4. 如果你想使用MD5加密 ``` @FieldEncrypt(algorithm = Algorithm.MD5) private String password; ``` 5. 如果这两个都不想用可以自定义加密解密器只需要实现ICrypto接口自定义加密解密方法并注入到spring容器即可 ``` @Slf4j @Component public class MyCrypto implements ICrypto { @Override public String encrypt(Algorithm algorithm, String s, String s1) throws Exception { log.debug("---------------------------"+s+s1); return "zxcvbnm"; } @Override public String decrypt(Algorithm algorithm, String s, String s1) throws Exception { log.debug("---------------------------"+s+s1); return "mnbvcxz"; } } ``` 6. @FieldDesensitize加类属性上可实现字段脱敏 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)