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

php做网站需要mysql么400个成品短视频

php做网站需要mysql么,400个成品短视频,满城区城乡建设局网站,网络广告系统背景 在实际开发过程中,我们通常会涉及到数据加密的问题。本文重点探讨两个方面:一是外部接口调用时的数据加密,二是服务间调用的数据加密与解密。 对于外部接口调用,每个用户将拥有独立的动态 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.khdw.cn/news/70836.html

相关文章:

  • 大连网站制作怎么做网络广告营销策略
  • 商城app开发费用多少钱seo优化一般包括哪些
  • 创建页面wordpress文章广告优化师前景怎样
  • 设计用哪些网站有哪些功能广告投放方式
  • 宝安做网站信科seo研究中心晴天
  • 建筑设计公司名称大全seo的含义是什么意思
  • 幼儿园主题网络图设计模板seo需要掌握哪些技术
  • 如何用本机电脑做网站服务器神马网站快速排名软件
  • 品牌整合营销方案推广seo网站
  • wordpress开发手册下载seo公司网站推广
  • 有没有免费b2b平台seo搜索推广
  • 有什么做礼品的卖家网站2022网站seo
  • 做外贸客户要求看网站seo优化个人博客
  • 宠物网站建设方案地推平台
  • 刚做的单页网站怎么预览十大最靠谱培训机构
  • 个人作品网站怎么做重庆seo顾问
  • 盐城市亭湖区城乡建设局网站网站cms
  • 广州做网站的小广告模板
  • asp网站相册百度移动端点赞排名软件
  • 怀化网站建设公司360识图
  • 中建西部建设网站网站排名优化方案
  • 做酒的网站有哪些备案查询网
  • wordpress 获取用户ip讯展网站优化推广
  • php动态网站开发实例怎么建立网站卖东西
  • 网站建设 js做个电商平台要多少钱
  • 做网页兼职网站百度投诉中心24人工客服电话
  • 什么行业做网站多推广一般去哪发帖
  • 中山 网站建设百度通用网址
  • 监控直播网站开发百度推广开户多少钱
  • 应用网站如何做重庆网站到首页排名