1. uni-app x 中使用 UTS 语言实现兼容鸿蒙的加密
在 uni-app x 中使用 UTS 语言实现兼容鸿蒙的 SM2 加密,推荐使用 uni-crypto 插件。该插件专为 uni-app-x 设计,支持国密 SM2/SM3/SM4 算法,并兼容 Android、iOS、鸿蒙三端统一 API。
插件地址:uni-crypto

1.1. 使用方法
1.1.1. 安装插件
将 uni_modules/uni-crypto 目录复制到你的项目中。
1.1.2. 导入插件
javascript
import crypto from '@/uni_modules/uni-crypto/index.uts'
1.1.3. SM2 加密示例
javascript
// 生成 SM2 密钥对
const keyPair = crypto.sm2.generateKeyPairHex()
// 使用公钥加密
const encrypted = crypto.sm2.doEncrypt('Secret Message', keyPair.publicKey)
console.log('加密结果:', encrypted)
// 使用私钥解密
const decrypted = crypto.sm2.doDecrypt(encrypted, keyPair.privateKey)
console.log('解密结果:', decrypted)
// SM2 签名
const signature = crypto.sm2.doSignature('Message', keyPair.privateKey)
// SM2 验签
const verifyResult = crypto.sm2.doVerifySignature('Message', signature, keyPair.publicKey)
1.2. 其他方案
如果 uni-crypto 不能满足需求,也可以使用 tq-encrypt 插件,该插件明确支持鸿蒙平台(HarmonyNext)的 SM2/SM3/SM4 国密算法。
插件地址:tq-encrypt
该插件在 1.3.1 版本中新增了鸿蒙国密算法支持,支持通过 UTS 调用原生鸿蒙加密能力。
