HarmonyOS 鸿蒙Next 关于国密SM4加密

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

HarmonyOS 鸿蒙Next 关于国密SM4加密 想了解一下鸿蒙的国密SM4加密解密代码怎么写

3 回复

Button(‘SM4’) .onClick(async () => { const symAlgName = ‘SM4_128’ const sKey: string = “9f35eda67432c4ae3892305801b9d0b6”; const symKeyData = buffer.from(sKey, ‘hex’) let symKeyBlob: cryptoFramework.DataBlob = { data: new Uint8Array(symKeyData.buffer) }; try { let aesGenerator = cryptoFramework.createSymKeyGenerator(symAlgName); let symKey = await aesGenerator.convertKey(symKeyBlob); console.log(wsf: sm4 转密钥成功)

  let plainText: cryptoFramework.DataBlob = { data: new Uint8Array(buffer.from('This is a test', 'utf-8').buffer) };
  const cipher = cryptoFramework.createCipher('SM4_128|ECB|PKCS7')
  await cipher.init(cryptoFramework.CryptoMode.ENCRYPT_MODE, symKey, null)
  const encryptData = await cipher.doFinal(plainText)
  console.log(`wsf: 加密成功`)

  let decoder = cryptoFramework.createCipher('SM4_128|ECB|PKCS7');
  await decoder.init(cryptoFramework.CryptoMode.DECRYPT_MODE, symKey, null);
  let decryptData = await decoder.doFinal(encryptData);
  console.log(`wsf: 解密成功 ${buffer.from(decryptData.data).toString()}`)
} catch (e) {
  console.error(`wsf: 转密钥报错 e = ${e.code} ${e.message}`)
}

}) 参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/crypto-sm4-sym-encrypt-decrypt-ecb-V5

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


好多开源库都实现了啊,去仓库里一搜好几个!

针对帖子标题“HarmonyOS 鸿蒙Next 关于国密SM4加密”的问题,以下是专业且简洁的回答:

HarmonyOS鸿蒙Next对国密SM4加密的支持主要体现在系统级的安全增强上。SM4是一种对称加密算法,由中国国家密码管理局制定,具有高效、安全的特点。在鸿蒙Next系统中,SM4加密可能被用于保护敏感数据的传输和存储,确保用户信息的安全性。

鸿蒙Next系统可能通过内置的安全模块或API接口,为开发者提供SM4加密功能的使用权限。开发者在开发鸿蒙应用时,可以调用这些API来实现数据的SM4加密处理,从而提升应用的安全性。

需要注意的是,具体如何使用SM4加密功能,以及鸿蒙Next系统对SM4加密的具体实现细节,可能因系统版本、设备类型等因素而有所不同。因此,开发者在开发过程中应参考鸿蒙官方的开发文档和API指南,以确保正确、安全地使用SM4加密功能。

如果开发者在使用过程中遇到关于SM4加密的具体问题,建议查阅鸿蒙官方的最新开发文档或相关资料。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部