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

php做网站需要mysql么发外链的平台有哪些

php做网站需要mysql么,发外链的平台有哪些,制作app免费网站模板下载,wordpress外联插件背景 在实际开发过程中,我们通常会涉及到数据加密的问题。本文重点探讨两个方面:一是外部接口调用时的数据加密,二是服务间调用的数据加密与解密。 对于外部接口调用,每个用户将拥有独立的动态 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.ds6.com.cn/news/97918.html

相关文章:

  • 青岛wordpress建站网络营销模式包括哪些
  • 首页网站模板鼓楼网页seo搜索引擎优化
  • 黄平网站制作淘宝热搜关键词排行榜
  • 网站备案撤销原因信息流广告加盟代理
  • 百度网站验证怎么做实体店怎么引流推广
  • linux用.net做网站营销网络的建设怎么写
  • 小程序开发北京华网天下首选seo建站
  • 做个人网站到哪里做百度小程序对网站seo
  • 广东门户网站建设济南专业seo推广公司
  • php如何网站做修改b2b模式的电商平台有哪些
  • 建设个人你网站网上推广app
  • 建筑网建设通网站作用是什么意思百度网站优化方案
  • 广州 美容 公司 网站建设深圳关键词排名优化系统
  • 做网站要什么功能网络广告营销策划方案
  • 做网站图片太大好吗seo的内容有哪些
  • 广西做网站建设的公司在线crm管理系统
  • 哪里有免费的网站模板自己做网站如何赚钱
  • 公司网站欢迎语国内新闻大事20条
  • 网站怎么做中英文切换四年级下册数学优化设计答案
  • 能访问所有网站的浏览器seo排名赚app
  • 源代码建网站有创意的营销案例
  • 做地方网站如何盈利学编程的正规学校
  • 怎么做网站才能不被仿冒百度搜索引擎api
  • 河南工程建设信息网官网广告优化师工资一般多少
  • 汉服销售网站建设seo工具不包括
  • 做dm素材网站sem培训班
  • 网站开发常见方法电子商务网站
  • 做绿化生意有什么网站seo兼职工资一般多少
  • 设计师的网站怎样有效的做网上宣传
  • 网站建设店淘宝服务外包公司