当前位置: 首页 > news >正文

怎么自己做网站模板传奇网站怎么做

怎么自己做网站模板,传奇网站怎么做,音乐网站开发结语,所得税汇算清缴在哪个网站做背景 在实际开发过程中,我们通常会涉及到数据加密的问题。本文重点探讨两个方面:一是外部接口调用时的数据加密,二是服务间调用的数据加密与解密。 对于外部接口调用,每个用户将拥有独立的动态 AES 加密密钥(KEY&…

背景

在实际开发过程中,我们通常会涉及到数据加密的问题。本文重点探讨两个方面:一是外部接口调用时的数据加密,二是服务间调用的数据加密与解密。

对于外部接口调用,每个用户将拥有独立的动态 AES 加密密钥(KEY)和初始向量(IV)。在用户每次重新登录后,系统会重新生成 KEY 和 IV,以保证调用端的唯一性。这种机制不仅提高了数据传输的安全性,还能有效限制非法调用。

对于服务间的调用,我们则采用系统级的 KEY 和 IV 对 API 调用的数据进行加密和解密。这种方式适用于系统内部的安全保障,确保服务间通信的可靠性和安全性。

通过上述两种方式,我们能够满足不同场景下的加密需求,同时有效提升系统的安全性和调用端的独特性。

注解类

通常用在controller上,上面用到了枚举用来标识接口的加密方式,默认为系统加密码,因为一开始是准备用于服务间调用的。

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Indexed
public @interface ApiEncrypt {//加密方式ApiEncryptType encryptType() default ApiEncryptType.BY_SYSTEM;}

AOP类

在 AOP 的 doAfter 方法中对结果进行拦截和输出是常见的操作。如果您对其实现原理感兴趣,可以查阅相关资料以深入了解。

其中,核心的加解密功能主要由 ApiEncryptUtil 类实现。以下是相关的代码片段:

@Aspect
@Slf4j
public class ApiEncryptAspect {@Pointcut("@annotation(com.unknow.first.api.encrypt.annotation.ApiEncrypt)")public void apiEncryptPointcut() {}@AfterReturning(value = "apiEncryptPointcut()", returning = "result")public void after(JoinPoint joinPoint, CommonApiResult<Object> result) throws Throwable {Signature signature = joinPoint.getSignature();MethodSignature msg = (MethodSignature) signature;//获取注解标注的方法Method method = joinPoint.getTarget().getClass().getMethod(msg.getName(), msg.getParameterTypes());//通过方法获取注解final ApiEncrypt apiEncrypt = method.getAnnotation(ApiEncrypt.class);ApiEncryptUtil.encryptData(result, apiEncrypt.encryptType());}
}

示例代码

    @GetMapping("/api/encrypt/user")@ApiOperation("api加密-用户密钥加密")@ApiEncrypt(encryptType = BY_USER)@SystemResource(authMethod = AuthMethod.ALLSYSTEMUSER)public CommonApiResult<Object> testEncryptByUserKey() {Map<String, Object> value = new HashMap<>();value.put("test1", "测试1");value.put("test2", "测试2");return CommonApiResult.createSuccessResult(value);}

总结

这种加密方式在一定程度上模拟了云平台中 AK/SK 机制的加密模式,但与其不同的是,我们的 AK/SK 是动态生成的。这主要是基于外部对接用户的特点,考虑到会话通常持续时间较长,因此动态生成的 AK/SK 不会快速过期,同时也能够有效确保会话终端的唯一性。

未来,我们计划进一步扩展功能,允许为外部调用用户配置固定的 AK/SK,以满足特定场景下的需求。以下是相关代码参考:

GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。icon-default.png?t=O83Ahttps://gitcode.com/YouYouLongLong/springcloud-framework/tree/master/core-common-parent/api-encrypt-common

http://www.yayakq.cn/news/463318/

相关文章:

  • 请人做网站注意事项网站做哪家最专业广州
  • 网站建设开发费用怎样入账网站建设自检自查
  • 关于网络编辑作业做网站栏目新闻的pptyy直播是个什么样的平台
  • c .net网站开发黄骅招聘网最新招工信息
  • 建造师人才网2014中文网站seo排名名单
  • 网站脚本怎么做wordpress修改角色管理
  • 邯郸做网站哪家好android优化大师
  • 网站建设贰金手指下拉贰拾网易云音乐wordpress插件下载
  • 180天做180个网站零件加工网
  • 为什么建设文化馆网站app商城开发定制
  • 网站关于我们的页面产品开发项目管理
  • 企石镇网站建设企业信息管理系统免费
  • 二手物品交易网站开发意义动漫设计的就业前景
  • 免费学做网站广安市建设局官方网站
  • 福田做棋牌网站建设找哪家效益快帮人做网站赚钱
  • 重庆建网站cqiezscomflash网站动画
  • 聊城手机网站建设方案本网站仅支持ie浏览器
  • 沈阳市网站建设做好产品策划的重要性
  • 中企动力做的网站后台怎么登录网站建设出售
  • 做网站要学些什么软件长春企业网站设计
  • 三亚网站建设哪家专业企业宣传网站源码
  • 菏泽市城乡和建设局网站godaddy主机到网站
  • 如何建立自己的商城网站广东东莞招工信息最新招聘
  • 镇江网站建设推广找思创wordpress自动采集插件
  • 手机新机价格网站摄影网站功能设计
  • 手机网站用什么空间合肥网站代运营公司有哪些
  • 网站建设公司公司介绍怎么做外贸推广
  • 昆明网站建设建站模板做app模板网站有哪些内容
  • asp做的网站如何更新网站建设这个职业是什么
  • 怎么自己创建一个免费网站门户设计方案