java如何给接口设置加密

作者 : 开心源码 本文共677个字,预计阅读时间需要2分钟 发布时间: 2022-05-13 共226人阅读

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

java如何给接口设置加密

整体设计

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

java如何给接口设置加密

SpringMvc增加阻拦器代码

  1. 接口的Header的值能否满足要求,从一致性及值考虑;
  2. Header的时间值能否超过1分钟,否则合法,是则接口有屡次请求情况;
  3. sha-1按规则加密其header的属性值,若与sign一致,则合法,否则非法请求;
    java如何给接口设置加密

设置需要加密的接口

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

java如何给接口设置加密

排除不需要加密的接口

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

java如何给接口设置加密

前台增加SHA-1模块

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

java如何给接口设置加密

前台接口封装

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

java如何给接口设置加密

总结

  1. 前台通过Header提交属性值,表明其为合法的请求;
  2. 后台增加阻拦器,获取Header的属性值,判断能否合法请求;

注意事项

  • SHA-1的加密规则,需要重新设计符合项目的需求
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » java如何给接口设置加密

发表回复