HarmonyOS 鸿蒙Next上AES加解密无问题,但加密结果无法在三方网站解密
HarmonyOS 鸿蒙Next 使用AES加解密问题确认及后续解决计划
HarmonyOS 鸿蒙Next上AES加解密无问题,但加密结果无法在三方网站解密。这是否为HarmonyOS 鸿蒙Next当前问题?若是,后续有无解决计划?
测试无问题; text=‘This is a test’ , key=‘1111111111111111’ ;
加密结果:GtNUl0VkgLz4M8yMLJb9yw==
//加密
async aesEncrypt(text: string, key: string): Promise<string> {
let globalResult = ""
try {
let cipherAlgName = 'AES128|ECB|PKCS7';
let globalCipher = cryptoFramework.createCipher(cipherAlgName);
let symAlgName = 'AES128';
let symKeyGenerator = cryptoFramework.createSymKeyGenerator(symAlgName);
//let dataUint8Array = base.decodeSync(key)
let dataUint8Array = stringToUint8Array(key)
let keyBlob: cryptoFramework.DataBlob = { data: dataUint8Array }
let promiseSymKey = await symKeyGenerator.convertKey(keyBlob)
await globalCipher.init(cryptoFramework.CryptoMode.ENCRYPT_MODE, promiseSymKey, null);
let plainText: cryptoFramework.DataBlob = { data: stringToUint8Array(text) }
let result = await globalCipher.doFinal(plainText)
this.decryptData = buffer.from(result.data).toString('base64')
// globalResult = base.encodeToStringSync(result.data);
console.log("test---" + this.decryptData)
} catch (err) {
console.log(err.message)
}
return globalResult;
}
// 字符串转成字节流
function stringToUint8Array(str: string) {
return new Uint8Array(buffer.from(str, 'utf-8').buffer);
}
当前有可能是网页的问题;
1、使用网页测试时,秘钥直接使用 16个1 ,网页与ArkTS两边是一致的;
2、如果使用同样的方法,获取 16个1 的base64编码,然后作为秘钥去进行加密,结果就不一样了;
你这边如果在网页通过base64测试的话,可能是这个问题,使用明文秘钥测试网页与ArkTS 是可以的
更多关于HarmonyOS 鸿蒙Next上AES加解密无问题,但加密结果无法在三方网站解密的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS 鸿蒙Next 使用AES加解密时,若加密结果无法在第三方网站解密,通常不是HarmonyOS 鸿蒙Next系统本身的问题。AES加密的结果依赖于多个因素,包括密钥、初始化向量(IV)、填充模式、加密模式等。如果这些因素在加密和解密过程中不一致,就会导致解密失败。
第三方网站可能使用不同的默认设置或参数进行AES解密,如果与你在HarmonyOS 鸿蒙Next上使用的设置不匹配,就会出现解密失败的情况。
为了解决这个问题,你可以:
- 确认在HarmonyOS 鸿蒙Next上使用的AES加密参数(密钥、IV、加密模式、填充模式等)与第三方网站解密时使用的参数完全一致。
- 如果可能,尝试在第三方网站上手动设置AES解密参数,以匹配你在HarmonyOS 鸿蒙Next上的设置。
如果经过上述步骤后问题依旧存在,这可能是由于第三方网站的解密功能本身存在问题或限制。此时,你可以考虑使用其他可靠的AES解密工具或库进行验证。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html