HarmonyOS AES的解析失败
代码如下:
/**
* key:8cde79aa8651f8e4
* data:oMXKoLLGploX7RNypkcEfIzvHI6TtX35FQ1IIpNiMdJvisN1MULSXOdvtfM7fVsQEqPh_VNaur8z8Oh1ROh9SfOi7FGwgQ3GH9b9l_NERPCmyVI2BBRsQZzZD5Y74upT4yBLMVfKJ-14ExiQY0F7xrKOTERO6d-Bop9_wcVH1SPOAQnJOcAjYJebd_N5crBtlz3UZmXeqmsocrwuFkXuYFHX9mjkcRhi2BwrektP9g6UKp_big7yi9kTVyB8SLQ4tauPEaGN_q0leHvn01q3xF_IXJhkjvV-XIedyyB2gmBFJBrhRRQZweoSBl142HPvZeTONl0qSgawefxZ6w36mmDPOHZbRhxXvdOGgKs6ri60YBEa9mqK-BwshqlQqlkCCWWMweuGIdqWlqIFk14EIrCbfsfNmF8fkPvbZkk2B0hyHD_SKFTpHTigYBRPHPI-UAX3u-K7UZ5XU3O4UnkQYA
* iv:0821f39fdd2b7135
*/
import { cryptoFramework } from '@kit.CryptoArchitectureKit';
import { ConvertUtil } from './ConvertUtil';
export class AESUtil {
public static async decryptWithKeyBase64(data: string, iv: string, key: string) {
let symKey = await AESUtil.genSymKeyByData(ConvertUtil.stringToUint8Array(key));
let decoder = cryptoFramework.createCipher('AES128|CBC|PKCS7');
let symIv = AESUtil.genIvParamsSpec(iv);
await decoder.init(cryptoFramework.CryptoMode.DECRYPT_MODE, symKey, symIv);
let decryptData = decoder.doFinal({ data: ConvertUtil.stringToUint8Array(data) });
return decryptData;
}
static genIvParamsSpec(iv: string) {
let dataIv = ConvertUtil.stringToUint8Array(iv);
let ivBlob: cryptoFramework.DataBlob = { data: dataIv };
let ivParamsSpec: cryptoFramework.IvParamsSpec = {
algName: "IvParamsSpec",
iv: ivBlob
};
return ivParamsSpec;
}
static async genSymKeyByData(symKeyData: Uint8Array) {
let symKeyBlob: cryptoFramework.DataBlob = { data: symKeyData };
let aesGenerator = cryptoFramework.createSymKeyGenerator('AES128');
let symKey = aesGenerator.convertKeySync(symKeyBlob);
console.info('convertKey success');
return symKey;
}
}
public static stringToUint8Array(str: string) {
return new Uint8Array(buffer.from(str, 'utf-8').buffer)
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS AES ECB加密后后台解析失败
564浏览 • 1回复 待解决
HarmonyOS 使用AES加密失败
788浏览 • 1回复 待解决
HarmonyOS xml解析失败
601浏览 • 1回复 待解决
使用AES对称密钥(CBC模式)加解密,生成symKey失败
1433浏览 • 1回复 待解决
HarmonyOS 新版本打包后无法上传,一直显示解析中,然后解析失败,
851浏览 • 1回复 待解决
HarmonyOS decodeSync解析失败出现crash,convertKey也没有正常返回结果
524浏览 • 1回复 待解决
HarmonyOS AES加密
691浏览 • 1回复 待解决
HarmonyOS 怎么解析集合对象和解析jsonarray的
1056浏览 • 1回复 待解决
HarmonyOS WebSocket调用connect连接服务器,连接成功,解析返回HTTPS失败
850浏览 • 1回复 待解决
HarmonyOS AES加密相关
665浏览 • 1回复 待解决
HarmonyOS JSON解析如何解析成指定的Class类型
1476浏览 • 1回复 待解决
HarmonyOS uri的解析问题
495浏览 • 1回复 待解决
HarmonyOS json的解析问题
1148浏览 • 1回复 待解决
HarmonyOS AES CBC加密问题
1213浏览 • 1回复 待解决
HarmonyOS AES加密编码问题
600浏览 • 1回复 待解决
HarmonyOS AES加解密咨询
1076浏览 • 1回复 待解决
HarmonyOS AES解密报错
1334浏览 • 1回复 待解决
HarmonyOS AES加解密问题
939浏览 • 1回复 待解决
#鸿蒙学习大百科#在并发场景下,AES总是加密失败,怎么办?
890浏览 • 0回复 待解决
Huks如何导入AES的密钥?
1436浏览 • 1回复 待解决
HarmonyOS AES生成秘钥
776浏览 • 1回复 待解决
HarmonyOS 原生解析html的诉求
798浏览 • 1回复 待解决
HarmonyOS 数据解析
910浏览 • 1回复 待解决
HarmonyOS json 解析
753浏览 • 1回复 待解决
使用提供的密文并不为base64这里转码失败
这里使用iv和密钥HarmonyOS 本地的加解密都是成功的,示例参考如下: