前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AES 加密算法应用

AES 加密算法应用

作者头像
seth-shi
发布2023-12-18 15:29:53
2180
发布2023-12-18 15:29:53
举报
文章被收录于专栏:seth-shi的专栏

最近工作上要对接第三方渠道商竞价广告业务, 基本能有竞价能力的广告商, 在上报广告价格的时候都会对价格进行加密, 这时候大多数广告商都是用了AES算法. 和第三方对接的时候, 由于广告商使用的加密模式不一样, 加上有些广告商连SDK也没有, 常常只有示例的Java客户端代码.

  • 这时候自己可以找一个第三方的网站做中间人来校验, 比如这个https://tool.lmeee.com/jiami/aes
  • 尽管只提供了Java代码, 但是我们应该可以从代码中分析出来使用的算法, 首先要确定的有
    • 加密模式 (ECB, BCB, CFB, OFB)
    • 填充方式 (pkcs5padding, pkcs7padding, zeropadding)
    • 秘钥长度 (128位(8个字符秘钥), 192位(12个字符秘钥), 256位(16个字符秘钥))
    • IV (初始化向量, 有些需要随机, 有些渠道商会让写死)
    • 密文最后是否需要Base64UrlSafeEncode
  • 对于AES算法, 发现很多还是使用ECB模式, 尽管存在一定被破译的风险. 但是因为使用起来太简单, 不需要IV, 只要一个秘钥, 所以很多第三方都使用这种方式
  • 知盟使用的是CFB模式, 虽然是随机秘钥, 但是没有把IV传递给知盟, 我猜它们就没验证这个加密的参数
  • 软告云用的CBC模式, 虽然也用IV, 但是我猜它们为了简单易用化, 把秘钥也当做IV传递, 所以是一个固定的IV
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档