前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 AES 算法跨服务校验传递数据

使用 AES 算法跨服务校验传递数据

作者头像
seth-shi
发布2023-12-18 14:59:51
1130
发布2023-12-18 14:59:51
举报
文章被收录于专栏:seth-shi的专栏seth-shi的专栏

最近在做广告服务, 需要跨应用传输数据, 因为都是后台(PHP + Go), 所以这里选择的是对称加密算法.

容易遇到的错误点

秘钥的长度
  • (因为文档中说可以有, 16, 24, 32 长度),就选了一个 32 位的导致错误 AES-128:需要提供 16bytes 的密钥 key AES-192:需要提供 24 bytes 的密钥 key AES-256:需要提供 32bytes 的密钥 key
  • 所以需要根据使用的算法, 使用对应的秘钥长度
填充的算法
  • PHP因为使用很简单,所以忽略掉了这个
代码语言:javascript
复制
$text = "要加密的字符串";
// 秘钥的长度需要对应算法类型
$key = "2bfbd593bb32b2b9";
// AES-128-ECB 取决于你要使用何种算法
openssl_encrypt($text, 'AES-128-ECB', $key);
  • 如上, 便可很简单的使用Aes加密, 不过这个数据其实默认是base64过后的, 不然用了Go去写,数据不一致.
  • 如果想要原始的二进制数据,可以这样
代码语言:javascript
复制
openssl_encrypt($text, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
  • 第四个参数也可以自定义使用的填充算法

关于联调

  • 不要直接两个服务调试数据
  • 而是找一个在线解密加密网站, 然后通过这个网站互相调通再联调
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-05-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 容易遇到的错误点
    • 秘钥的长度
      • 填充的算法
      • 关于联调
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档