Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Spring Boot 字段级加密演示项目

🎯 项目概述

这是一个基于 Spring Boot 3 + MyBatis 的字段级加解密演示项目,实现了透明的字段级加密功能。通过简单的 @Encrypted 注解,即可实现敏感数据的自动加密存储和解密读取。

✨ 核心特性

  • 🔐 透明加密:业务代码零侵入,自动加解密
  • 🛡️ 安全算法:使用 AES-GCM 加密算法,支持防篡改
  • 🚀 零配置:注解驱动,开箱即用
  • 🔧 可扩展:支持自定义加密算法和密钥管理

🚀 快速开始

1. 环境要求

  • JDK 17+
  • Maven 3.6+

2. 运行项目

# 克隆项目
git clone <repository-url>
cd springboot-column-encryption

# 编译运行
mvn spring-boot:run

3. 访问应用

📖 使用指南

基本用法

  1. 在实体类字段上添加注解
@Data
public class User {
    private Long id;
    private String username;

    @Encrypted  // 添加此注解即可实现自动加密
    private String phone;

    @Encrypted
    private String idCard;

    // 普通字段不会加密
    private Integer age;
}
  1. 正常使用 MyBatis 操作
// 插入数据 - 自动加密敏感字段
User user = new User();
user.setUsername("张三");
user.setPhone("13812345678");  // 会自动加密存储
user.setIdCard("110101199001011234");  // 会自动加密存储
userMapper.insert(user);

// 查询数据 - 自动解密敏感字段
User result = userMapper.findById(user.getId());
System.out.println(result.getPhone());  // 输出: 13812345678 (已自动解密)