HarmonyOS 鸿蒙Next Blowfish/ECB/NoPadding 加密方式怎么实现

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

HarmonyOS 鸿蒙Next Blowfish/ECB/NoPadding 加密方式怎么实现

项目中用到Blowfish加密方式,但官方api没找到相关介绍,网上也没找到有用的信息,下面是我写的加密代码,但运行报错:
报错行 let aesGenerator = cryptoFramework.createSymKeyGenerator(“Blowfish”)
求助啊,Blowfish加密需要怎么做?

encryptECB(content: string):string{

//key
// let symKey = this.genSymKeyByData()
let key = “6a70394a700b4a73ab7a4afd718889e1”
let symKeyBlob: cryptoFramework.DataBlob = { data : stringToUit8Array(key) };
let aesGenerator = cryptoFramework.createSymKeyGenerator(“Blowfish”);
// let aesGenerator = cryptoFramework.createSymKeyGenerator(‘AES’);
let symKey = aesGenerator.convertKeySync(symKeyBlob);


let cipher = cryptoFramework.createCipher(‘Blowfish/ECB/NoPadding’);
let plainText: cryptoFramework.DataBlob = { data: stringToUit8Array(content) }
cipher.initSync(cryptoFramework.CryptoMode.ENCRYPT_MODE, symKey, null);
let cipherData = cipher.doFinalSync(plainText);
return uint8ArrayToHexStr(cipherData.data)
}

1 回复

在HarmonyOS中实现Blowfish/ECB/NoPadding加密方式,需要明确的是,HarmonyOS的加密框架可能并不直接支持Blowfish算法,因为它更常用的是AES、3DES、SM4等算法。不过,假设HarmonyOS的加密库支持Blowfish,并且你希望使用ECB模式和NoPadding填充,以下是一个理论上的实现步骤:

  1. 确认支持:首先,确保HarmonyOS的加密框架支持Blowfish算法。这通常可以在官方文档或API参考中找到。
  2. 设置参数:选择ECB作为加密模式,并设置NoPadding作为填充模式。
  3. 生成密钥:生成一个与Blowfish算法兼容的密钥。
  4. 加密数据:使用生成的密钥、指定的加密模式和填充模式,对数据进行加密。

如果HarmonyOS的加密框架不支持Blowfish,你可能需要寻找替代的加密库或算法。

此外,ECB模式由于其安全性问题(如相同的明文块会产生相同的密文块),通常不推荐用于加密大量或敏感的数据。如果可能,考虑使用更安全的加密模式,如CBC或GCM。

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

回到顶部