由于这久做了一个乐企数电开票的项目,已经上线了,真的是一言难尽,再回首已经是轻舟已过万重山,接口通过外网暴露给业务方使用,由于业务方的服务是在阿里云上,我的这个服务是在华为云上,所以k8s上的服务只能通过service对外暴露出去给阿里云上的业务侧使用,所以我就有了下面的这个思路,使用ip白名单和sm2对请求body的做解密,响应做加密,只需要把秘钥和加密工具类对给业务侧就可以安全的调用接口,其实在华为云上可以在负载均衡器上配置白名单,只允许阿里云上那几台服务器的ip访问,所以在项目中就不用加这个ip白名单,那如果在没有云的情况下,这个方案也是可以的,安全性更高且可以灵活配置,本文介绍三种方式,至于其它的方式还有很多,毕竟密码学是一门高深的学科,常用的加密算法有MD5,AES(加密在前端使用会被找到秘钥),RSA(文本太长就会有点慢的,这个我之前也试过的,网上也有好多的工具类,去搜几个来调试一下就可以用了,之前搞的那个懒得去找了,后面有时间找一下看看分享一波),SM国密系列的,可以说非常的多,但是常用的就这几种。