加密
加密
ContiNew Starter 加密模块:基于 MyBatis 拦截器的数据库字段加解密、RSA + AES 信封加密的 API 报文加解密,以及基于 Spring Security Crypto 的密码编码器。
本文是 2.x 的归档文档(冻结于 v2.17.0)。该分支只接收勘误修正, 内容基本不再变动;文中的源码路径、配置项与版本号均以 2.17.x 为准,不建议用于新项目。
新项目请查看 3.x 最新文档。已在 2.17.x 上运行的项目,本文仍是可靠依据。
加密模块按能力拆分为三个独立 Starter,可按需引入:
字段加密
数据库字段加解密:MyBatis 拦截器自动加密写入、解密查询,业务代码零侵入。
API 加密
API 报文加解密:RSA + AES 信封加密,Servlet 过滤器自动解密请求体、加密响应体。
密码编码器
密码编码器:基于 Spring Security Crypto 的单向散列密码编码(BCrypt、SCrypt、PBKDF2、Argon2)。
模块组成
| 模块 | 能力 |
|---|---|
continew-starter-encrypt-field | 数据库字段加解密:MyBatis 拦截器自动加密写入、解密查询,业务代码零侵入 |
continew-starter-encrypt-api | API 报文加解密:RSA + AES 信封加密,Servlet 过滤器自动解密请求体、加密响应体 |
continew-starter-encrypt-password-encoder | 密码编码器:基于 Spring Security Crypto 的单向散列密码编码(BCrypt、SCrypt、PBKDF2、Argon2) |
三个模块均依赖核心模块 continew-starter-encrypt-core(提供 IEncryptor 加密器 SPI 与 Algorithm 算法枚举),随各自 Starter 自动引入。