springboot加解密 springboot提供通用starter实现接口加解密
接口加解密,通用 starter。
1. spring boot 一个注解,可实现接口的加解密。我们能提供一个通用的 starter,具备通用的加密解密功能。
2. 若要对接口的返回值进行加密,可在该方法上加一个注解。
3. 调试加密的接口,这边会返回一个加密字符串。若要返回解密后的数据,只需在相应方法上标一个解密注解。若要对加密字符串进行解密,可直接调用解密的接口,将其放入,然后进行解密,这边就会显示解密的数据。
4. 先看如何对返回值进行加密。这边定义了一个类,让其实现 responsebodyadvice 这样的一个类,该类中有两个方法,一个是 sport 方法,一个是 beforebodywrite 方法,解密逻辑主要在 beforebodywrite 这个方法里,先拿到真实数据即入参,然后将入参进行序列化,再对字符串进行加密,工具类里用到了 hutool 的工具类。
5. 看如何对入参进行解密返回。这边实现了一个 requestbodyadvice,方法里有几个重写的方法,Requestatareue 就在这样的一个方法里。主要解密业务逻辑在这个方法里,首先获得到 request,然后获得到 request 里具体的 requestdata 数据,拿到加密数据,调用工具类对加密字符串进行解密,解密后拿到 result,再进行一些校验,校验通过后返回。
6. 加解密逻辑主要在这样的一个 starter 里,若要使用该功能,直接引入这个 starter 即可。