HarmonyOS 鸿蒙Next是否有支持AES256的数据加解密的库或者第三方支持

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

HarmonyOS 鸿蒙Next是否有支持AES256的数据加解密的库或者第三方支持 例如ios的相关AES256加解密如下链接
https://blog.csdn.net/u011154007/article/details/52915650

2 回复

可以试一下:[https://ohpm.openharmony.cn/#/cn/detail/@hw-agconnect%2Fpetal-aegis](https://ohpm.openharmony.cn/#/cn/detail/@hw-agconnect%2Fpetal-aegis)

AES加密可以试一下下面的demo

import { cryptoFramework } from '@kit.CryptoArchitectureKit';
import { util } from '@kit.ArkTS';
@Entry
@Component
struct AESCBCCrypto {
  @State message: string = '点击开始';
  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            testSyncGenerateAesKey()
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}
async function testSyncGenerateAesKey() {
  // 创建SymKeyGenerator实例
  let symKeyGenerator = cryptoFramework.createSymKeyGenerator('AES256');
  // 使用密钥生成器随机生成对称密钥
  let promiseSymKey = symKeyGenerator.generateSymKeySync();
  // 获取对称密钥的二进制数据,输出256位密钥。长度为32字节
  let encodedKey = promiseSymKey.getEncoded();
  console.info('key hex:' + encodedKey.data);
  // console.info('key hex:' + encodedKey);
  let base64 = new util.Base64Helper();
  let keyString = await base64.encodeToString(encodedKey.data);
  let keyString1 = base64.encodeToStringSync(encodedKey.data);
  // console.info('key stringify:' + JSON.stringify(keyString));
  console.info('key string:' + keyString);
  console.info('key string1:' + keyString1);
}

使用鸿蒙的 @ohos.security.cryptoFramework 进行 AES256 加解密的话,对应的key应当是32字节。提供的 key 字节数不正确,建议使用三方库 crypto-js 进行加解密:https://gitee.com/openharmony-sig/crypto-js

//加密
const content: string = '{"from":"com.csair.opwsMobile", "parameter":{"username":"vote","roleId":"88954","roleName":"vote","businessType":"vote","toUsername":"vote","groupId":"1608259460000889551","pluginId":"vote","pluginName":"vote","createTime":"vote","extra":{"extra1":"123"}}}';
const AES_ENCRYPT_KEY: string = '1a2a23a';
this.result = CryptoJS.AES.encrypt(content, AES_ENCRYPT_KEY).toString();
console.log("AES encrypt = " + this.result);
//解密
let decrypted: string = CryptoJS.AES.decrypt(this.result, AES_ENCRYPT_KEY).toString(CryptoJS.enc.Utf8);
console.log("AES decrypt = " + decrypted);

更多关于HarmonyOS 鸿蒙Next是否有支持AES256的数据加解密的库或者第三方支持的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next系统确实提供了对AES256数据加解密的原生支持,无需依赖Java或C语言相关的库,而是直接通过其安全框架和API来实现。

鸿蒙系统内置了强大的安全机制,包括加密技术,以保护用户数据的隐私和安全。AES(高级加密标准)256位加密是其中一种广泛应用的加密算法,用于确保数据传输和存储的安全性。

在鸿蒙系统中,开发者可以利用系统提供的安全API来进行AES256加密和解密操作。这些API通常封装在鸿蒙的安全框架中,使得开发者可以方便地调用,而无需深入了解底层的加密算法实现。

此外,鸿蒙系统也支持与第三方安全服务或库的集成,以提供更丰富的安全功能。然而,对于AES256加密和解密这样的基本需求,通常使用系统内置的安全API就足够了。

如果你正在开发鸿蒙应用,并需要实现AES256加密和解密功能,建议查阅鸿蒙系统的官方文档,了解如何使用其安全API。这些文档通常提供了详细的API说明和使用示例,可以帮助你快速上手。

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

回到顶部