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

如何在网站上添加qqseo的概念

如何在网站上添加qq,seo的概念,免费网站建设怎样,有没有专门做一件代发的网站背景 在实际开发过程中,我们通常会涉及到数据加密的问题。本文重点探讨两个方面:一是外部接口调用时的数据加密,二是服务间调用的数据加密与解密。 对于外部接口调用,每个用户将拥有独立的动态 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.shuangfujiaoyu.com/news/56283.html

相关文章:

  • 网络流量统计工具南宁seo服务公司
  • 电商系统服务好的商家优化模型有哪些
  • wordpress 优化 插件青岛seo软件
  • 平面设计师常用的网站全国新冠疫苗接种率
  • 网站建设费用计入什么二级科目推广游戏赚钱的平台有哪些
  • 美女做暧暧免费网站网络服务器有哪些
  • 做电影收费网站百度快速排名 搜
  • 自己家开了一家装修公司怎么做装修网站企业网站关键词优化
  • 做培训的网站广州百度seo排名
  • 好用的网站开发软件电商平台有哪些
  • 做外贸英语要什么网站广告公司取名字参考大全
  • 公司网站开发 nodejs百度一下官网首页百度一下
  • 手机 显示器自适应wordpress 主题搜狗seo查询
  • 做兼职去哪个网站高端seo服务
  • 2021年企业所得税税收优惠政策西安优化外包
  • 做音乐网站建设的开发平台深圳优化怎么做搜索
  • 怎么用手机网站做软件微信广告平台推广
  • 网站建设的专业知识网络网站
  • 平顶山做网站推广郑州整站关键词搜索排名技术
  • 网站空间 按流量计费短视频推广平台
  • 开封网站优化香港旺道旺国际集团
  • 网站网站设计淘宝网店的seo主要是什么
  • 网站开发流程css软文文案案例
  • 辽阳企业网站建设团队成都sem优化
  • 协会网站建设方案书江西优化中心
  • 邯郸网站设计价格长沙关键词优化新报价
  • 企业年金查询app百度关键词优化软件怎么样
  • 深圳网站建设公司服务商今天刚刚最新消息2023
  • 杭州市网站建设公司中国网民博客 seo
  • 平面设计欣赏网站推荐成都百度推广账户优化