HarmonyOS 鸿蒙Next AES CBC加密问题

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next AES CBC加密问题 鸿蒙的加密,我们目前采用的是AES cbc加密的方式,但是现在和后端加密不一致,我这边单向的加解密都OK,后端匹配不了,发现是鸿蒙加密之后的byte是全是正数的,但是java的加密之后有负数,这个有什么方案解决么

2 回复
ets侧是[100,120,130],java侧是[20,-180,90,-70]

正常情况下因平台不同java加密结果会带有负数,相同位置的正数与ets相同,但结果数组长度应该是相同的。

例如:SHA512加密输入:mdTestMessgae
● java结果为:[61, -59, 59, 74, 15, 23, -88, 79, -71, -56, -24, -70, -16, 81, 62, 4, -62, -32, 59, -48, -56, -78, 83, -17, -49, -14, -28, -46, 81, -99, -13, 118, -67, -79, 79, 121, 95, -79, -9, -41, -100, 22, -126, 98, 106, -68, 102, 36, 118, -39, 34, 17, 51, -53, -2, 73, 64, -44, 117, 27, 37, 63, -99, -106]
● ets结果为: [61,197,59,74,15,23,168,79,185,200,232,186,240,81,62,4,194,224,59,208,200,178,83,239,207,242,228,210,81,157,243,118,189,177,79,121,95,177,247,215,156,22,130,98,106,188,102,36,118,217,34,17,51,203,254,73,64,212,117,27,37,63,157,150]

参考链接: 
[使用AES对称密钥(CBC模式)加解密(ArkTS)](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/crypto-aes-sym-encrypt-decrypt-cbc-V5)

更多关于HarmonyOS 鸿蒙Next AES CBC加密问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS(鸿蒙)Next AES CBC加密问题,以下是专业且直接的回答:

HarmonyOS Next在处理AES CBC加密时,首先需要确保你使用的加密库或API是鸿蒙系统原生支持的。AES(高级加密标准)CBC(Cipher Block Chaining)模式是一种常见的对称加密算法,它通过链接数据块来增加加密的安全性。

在鸿蒙系统中,加密操作通常依赖于系统提供的加密模块或第三方库(需确保兼容鸿蒙)。若遇到AES CBC加密问题,请检查以下几点:

  1. 密钥管理:确保加密和解密使用的密钥完全一致,且密钥长度符合AES标准(如128位、192位或256位)。

  2. 填充方式:CBC模式需要填充数据块至固定大小。检查是否使用了正确的填充方式(如PKCS#5/PKCS#7)。

  3. 初始化向量(IV):CBC模式使用IV来确保相同明文加密后产生不同密文。确保加密和解密时使用的IV相同。

  4. 数据格式:确认输入数据的格式和编码,确保在加密前数据已正确预处理。

  5. API调用:检查API调用是否正确,包括参数设置和返回值处理。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部