如何设置java的加密_java如何给接口设置加密

发布API接口后,会出现被恶意调用的情况,占用过多的服务资源。导致合法的请求,响应结果延时,客户体验不好。而给接口设置加密可以提高非法调用的成本。

2ecf005f4d38f101fd6225d74c70c34c.pngjava如何给接口设置加密

整体设计

后商增加过滤器阻拦配置的接口API。综合Header的属性值,按肯定规则加密某些值,若其值与前台提交来的sign值一致,则为合法请求,否则返回非请求错误。

ab78e600750c26df89bd9b5a7dec4dad.pngjava如何给接口设置加密

SpringMvc增加阻拦器代码接口的Header的值能否满足要求,从一致性及值考虑;

Header的时间值能否超过1分钟,否则合法,是则接口有屡次请求情况;

sha-1按规则加密其header的属性值,若与sign一致,则合法,否则非法请求;

1417e6f715d9e80fc9dbf4caa0835d53.pngjava如何给接口设置加密

设置需要加密的接口

继承WebMvcConfigurer父类,增加阻拦器,并配置需要加密的接口

b26f6b36f53fde192c5dc825aab07973.pngjava如何给接口设置加密

排除不需要加密的接口

加密的接口API若通过正则判断,则有些特殊的接口需要排除,不需要登陆之后权限也可以查看

00002cad9f283385d479f88e889a29f0.pngjava如何给接口设置加密

前台增加SHA-1模块

下载crypto-js模块,通用import、required等引用,其下载地址为code.google.com/p/crypto-js

cd9a17f2b27ff999be5c06322596f1d7.pngjava如何给接口设置加密

前台接口封装

封装请求API的接口,增加header属性值token、timestamp、sign

7f6cfff6860c9fba393ffdefe8b2ba95.pngjava如何给接口设置加密

总结前台通过Header提交属性值,表明其为合法的请求;

后台增加阻拦器,获取Header的属性值,判断能否合法请求;

注意事项SHA-1的加密规则,需要重新设计符合项目的需求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值