# mx-encrypt-spring-boot-starter **Repository Path**: H0709/mx-encrypt-spring-boot-starter ## Basic Information - **Project Name**: mx-encrypt-spring-boot-starter - **Description**: Spring Boot 接口加密Starter组件,可以分别对参数,返回值进行加解密,目前支持RSA非对称加解密,AES对称加解密, 以及对参数防篡改签名 + body AES对称加解密的综合加密方式。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/itxinmeng/mx-encrypt-spring-boot-starter - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2024-06-25 - **Last Updated**: 2024-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 1.介绍 **mx-encrypt-body-spring-boot** ``` Spring Boot Starter接口加密公用组件,可以对参数,返回值进行加解密,目前支持RSA非对称加解密,AES对称加解密, 以及对参数防篡改签名 + body AES对称加解密的综合加密方式。 1.依赖少,只依赖spring和Hutool工具。 2.加密枚举工厂模式 + 策略模式 + 模板模式实现多种加密方式,非常便于扩展。 3.按阿里巴巴开发规范来编写,便于阅读。 4.开箱即用,引入jar,添加加密方式配制,就可以在接口上使用了 ``` ### 2.使用方法 **Apache Maven** ``` io.gitee.itxinmeng mx-encrypt-spring-boot-starter 1.1.2 ``` **Gradle** ``` implementation 'io.gitee.itxinmeng:mx-encrypt-spring-boot-starter:1.0.1' ``` - **在application.yml或者application.properties中配制** - AES DEMO: ``` custom: encrypt: method: AES #加密方法【支持AES,RSA,SIGN_AND_AES】 secret: passwordapp08954 AES密钥 ``` RSA DEMO: ``` custom: encrypt: method: RSA publicKey: # RSA公钥 privateKey: # RSA私钥 ``` SIGN_AND_AES 接口签名加AES加密 DEMO, 此种加密会在数据库生成一张表来保存appKey和Secret: ``` custom: encrypt: method: SIGN_AND_AES tableName: app_auth ``` - **对返回值进行加密** ``` @Encrypt @RequestMapping("/encrypt") public AjaxResult encrypt(@RequestBody JSONObject req){ log.info("encrypt params:({})",req); return AjaxResult.success(); } ``` - **对传过来的加密参数解密** ``` @Decrypt @RequestMapping("/encrypt") public AjaxResult encrypt(@RequestBody JSONObject req){ log.info("encrypt params:({})",req); return AjaxResult.success(); } ``` - **对传过来的加密参数解密并对返回值进行加密** ``` @Decrypt @Encrypt @RequestMapping("/encrypt") public AjaxResult encrypt(@RequestBody JSONObject req){ log.info("decrypt params:({})",req); return AjaxResult.success(); } ```