Under-Utils
stable 1.0.4 1.0.5-SNAPSHOT
starter

Security Starter

under-utils-security-starter

按显式配置创建 FieldEncryptor,并注册 MyBatis 加密 TypeHandler 默认加密器。

依赖

under-utils-security-starter Maven 坐标
<dependency>
    <groupId>io.github.yexianglun-d</groupId>
    <artifactId>under-utils-security-starter</artifactId>
    <version>1.0.4</version>
</dependency>

适用场景

希望通过 Spring Boot 配置接入字段加密的项目。

能力边界

文档来源 under-utils-security-starter/README.md
API 入口 查看 Security Starter 相关 API
设计约束 保留失败语义、配置 key 和 public API 兼容性说明,不以营销描述替代真实边界。

README 同步内容

来源:under-utils-security-starter/README.md,构建时自动读取并渲染。

Spring Boot 自动装配模块,用于按配置创建字段级加密器,并把它注册为 EncryptedStringTypeHandler 的默认加密器。

依赖

<dependency>
    <groupId>io.github.yexianglun-d</groupId>
    <artifactId>under-utils-security-starter</artifactId>
    <version>1.0.4</version>
</dependency>

配置

under:
  utils:
    security:
      enabled: true
      field-encryption:
        enabled: true
        key-id: k1
        key: ${UNDER_UTILS_FIELD_AES_KEY_BASE64}
        register-mybatis-type-handler: true

key 必须是 Base64 编码的 AES key,解码后长度必须为 16、24 或 32 字节。未配置 key 或设置 field-encryption.enabled=false 时不会创建默认 FieldEncryptor,也不会注册 EncryptedStringTypeHandler 默认加密器。

MyBatis 用法

@TableName(value = "sys_user", autoResultMap = true)
public class SysUser {

    @TableField(value = "mobile", typeHandler = EncryptedStringTypeHandler.class)
    private String mobile;
}

本 starter 不会自动扫描实体字段,也不会全局加密所有字符串字段。字段必须显式声明 TypeHandler。