中文 | English | 📖 Documentation
🎉 A MyBatis-based enterprise data security component
Providing annotation-based data masking and automatic database encryption/decryption
🚀 Ready-to-use enterprise data security solution, letting you focus on business development
- 🎭 Data Masking - Supports 9 built-in masking rules, flexible custom masking, supports any entity type
- 🔒 Database Encryption - MyBatis plugin-based automatic encryption/decryption, encrypt on insert, decrypt on select
- 🛡️ SM4 Support - Supports national standard SM4 symmetric encryption algorithm, secure and reliable
- 📦 Any Type Support - Supports any entity, List, Map, with or without generics, all support masking and encryption/decryption
- 🔄 Nested Masking - Supports multi-level nested entity masking, meeting complex scenario requirements
- ⚡ Zero Impact - Encryption/decryption failure supports returning original value, does not affect normal business operation
- 📋 Deep Copy Design - New insertions do not change source object reference, supports continued object operations after save
- 🔧 High Extensibility - Supports custom encryption algorithms, encryption/decryption type handlers, masking type handlers
💡 Version Note: Choose the appropriate version based on your JDK
- JDK 17+ use version
1.1.4- JDK 8-17 use version
1.0.7
<dependency>
<groupId>com.rpamis</groupId>
<artifactId>rpamis-security-spring-boot-starter</artifactId>
<version>1.1.4</version>
</dependency><dependency>
<groupId>com.rpamis</groupId>
<artifactId>rpamis-security-spring-boot-starter</artifactId>
<version>1.0.7</version>
</dependency>public class User {
private Long id;
private String username;
@SecurityField
private String password;
}public class User {
private Long id;
private String username;
@Masked(type = MaskType.NAME_MASK)
private String name;
}| Resource | Link |
|---|---|
| 📖 Full Documentation | Documentation Website |
| 🚀 Quick Start | Quick Start Guide |
| 📐 Architecture | Architecture Design |
| 💡 Examples | Code Examples |
| 🔧 API Reference | API Documentation |
| 🧠 Principle Analysis | Technical Background / Principle Analysis |
| 🤖 Agent Skill | AI Agent Integration Guide - For AI-powered development assistance |
| Feature | Rpamis-Security | Similar Projects |
|---|---|---|
| Any entity type masking | ✅ List, Map, non-generic entities | ❌ Single entity only |
| Nested masking | ✅ Multi-level nesting | ❌ Not supported |
| Auto encryption/decryption | ✅ Dynamic SQL support | ❌ Limited functionality |
| SM4 encryption | ✅ Supported | Partial support |
| Encryption failure handling | ✅ Return original value | ❌ Not supported |
| Deep copy design | ✅ Preserves source reference | ❌ Not supported |
| Test coverage | ✅ 89%+ / 130+ scenarios | ❌ None |
Rpamis-Security is 100% driven by the open source community
Contributions and feedback are welcome! Check out the Contributing Guide for more details
This project is licensed under the Apache 2.0 License.
Made with ❤️ by Rpamis Team
