Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

rpamis/rpamis-security

Repository files navigation

Logo

πŸ” Rpamis-Security

δΈ­ζ–‡ | English | πŸ“– Documentation

maven license jdk codecov deepwiki


πŸŽ‰ A MyBatis-based enterprise data security component
Providing annotation-based data masking and automatic database encryption/decryption


✨ Core Features

πŸš€ 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

πŸ“¦ Quick Installation

πŸ’‘ 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

β˜• JDK 17 and above

<dependency>
 <groupId>com.rpamis</groupId>
 <artifactId>rpamis-security-spring-boot-starter</artifactId>
 <version>1.1.4</version>
</dependency>

πŸ“¦ JDK 8 - JDK 17

<dependency>
 <groupId>com.rpamis</groupId>
 <artifactId>rpamis-security-spring-boot-starter</artifactId>
 <version>1.0.7</version>
</dependency>

🎯 Quick Usage

πŸ”’ Encryption Annotation

public class User {
 private Long id;
 private String username;
 
 @SecurityField
 private String password;
}

🎭 Masking Annotation

public class User {
 private Long id;
 private String username;
 
 @Masked(type = MaskType.NAME_MASK)
 private String name;
}

πŸ“š Resources

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

πŸ† Advantages

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

🀝 Contributing

Rpamis-Security is 100% driven by the open source community
Contributions and feedback are welcome! Check out the Contributing Guide for more details

πŸ“„ License

This project is licensed under the Apache 2.0 License.


Made with ❀️ by Rpamis Team

About

rpamis-security, a mybatis encryption, decryption and desensitization component

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /