HarmonyOS 鸿蒙Next Cipher init 的 key 为什么一定要加密才能生成呢

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

HarmonyOS 鸿蒙Next Cipher init 的 key 为什么一定要加密才能生成呢

鸿蒙:

Cipher.init(opMode: CryptoMode, key: Key, params: ParamsSpec | null, callback: AsyncCallback<void>): void

这里 init 方法使用的 Key 为啥一定要先加密呢,不能是一个简单的字符串吗,这样跟 Node.js 的加密方法对应不上,在 Node.js 中 key 可以是一个字符串。

Node.js:

crypto.createCipheriv(algorithm, key, iv[, options])
 

这是逼着我用 crypto-js 三方库啊。

3 回复
按照密钥格式传值就行吧,没说要加密

密钥生成的时候必须传加密算法

在HarmonyOS鸿蒙Next中,Cipher init的key之所以需要加密才能生成,并非指key本身在生成过程中需要被加密,而是指用于初始化Cipher的key必须是一个经过适当处理和安全管理的密钥对象,而非简单的字符串。

在加密系统中,密钥的安全性至关重要。直接使用字符串作为密钥存在诸多安全风险,如易被猜测、破解等。因此,在HarmonyOS鸿蒙Next等现代操作系统中,通常使用专门的密钥管理机制来生成、存储和管理密钥。这些密钥以加密的形式存在,以确保其安全性。

当你使用Cipher init方法时,你需要提供一个符合系统要求的密钥对象。这个密钥对象可能是通过系统的密钥生成器生成的,也可能是从安全的密钥存储中获取的。在生成密钥时,系统会确保密钥的随机性和复杂性,以满足安全要求。

如果在使用Cipher init方法时遇到问题,建议检查密钥的生成和管理过程是否符合系统要求。如果问题依旧没法解决,请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部