HarmonyOS 鸿蒙Next新API内容解析:一点也看不懂

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

HarmonyOS 鸿蒙Next新API内容解析:一点也看不懂

想写一个aes加密,因为后端的java也是aes解密

官方示例,然后复制完运行不了。

尝试使用

import CryptoJS from '[@ohos](/user/ohos)/crypto-js'

结果这玩意和npm里面的CryptoJS AES加密的结果竟然不一样

vue的代码

encrypt(word) {
  const key = CryptoJS.enc.Utf8.parse('Dgf3f32iEDH6fWiV')
  const iv = CryptoJS.enc.Utf8.parse('Dgf3f32iEDH6fWiV')
  const srcs = CryptoJS.enc.Utf8.parse(word)
  console.log('key:',key)
  console.log('iv:',iv)
  console.log('srcs:',srcs)
  const encrypted = CryptoJS.AES.encrypt(srcs, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.ZeroPadding
  })
  console.log('encrypted:',encrypted)
  const ff = CryptoJS.enc.Base64.stringify(encrypted.ciphertext)
  console.log('ff:',ff)
  return ff;
},

同样的写法 放进 OpenHarmony的CryptoJS中 结果竟然不一样,打印发现 vue中的

CryptoJS.enc.Utf8.parse

输出的是一个对象

var key = {
  "words": [
    1147627059,
    1714631273,
    1162102838,
    1717004630
  ],
  "sigBytes": 16
}

和鸿蒙中的

CryptoJS.enc.Utf8.parse

输出的是一行字符串

然后我把鸿蒙的 key iv data都复制了vue里面转化的

最后代码变成

export function encode(password:string){
  const iv = {
    "words": [
      1147627059,
      1714631273,
      1162102838,
      1717004630
    ],
    "sigBytes": 16
  }

  var key = {
    "words": [
      1147627059,
      1714631273,
      1162102838,
      1717004630
    ],
    "sigBytes": 16
  }
  
  const srcs = {
    "words": [
      825373492,
      892731392
    ],
    "sigBytes": 6
  }
  //第三步在需要使用AES加密的业务逻辑,调用AES加密
  const encrypted = CryptoJS.AES.encrypt(srcs, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.ZeroPadding
  })
  Logger.info(CommonConstants.AES_TAG,'encrypted:'+encrypted);

  return key;
}

和vue同的就是前面声明 那部分 您猜怎么着

这俩输出一模一样了,这说明 CryptoJS 有bug,用不了

所以正常的 AES API9 加密应该怎么写,

@ohos.security.cryptoFramework (加解密算法库框架)

这确定是给人看的么? 示例代码还运行不了!!!!!!感觉写文档的人就在糊弄


更多关于HarmonyOS 鸿蒙Next新API内容解析:一点也看不懂的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

9 回复

楼主您好,加解密算法库框架和其他加解密会有所不同,有什么需要改进的地方,可以提出您的意见和建议。

更多关于HarmonyOS 鸿蒙Next新API内容解析:一点也看不懂的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


api9 aes加密示例代码在哪点呢,

api9 aes加密示例代码在哪点呢,

你好,找到了吗,

该问题已解决,并含工具类源码(Harmony原生API实现),帖子为:https://developer.huawei.com/consumer/cn/forum/topic/0202156009282962090?fid=0101587866109860105

我们的数据也是aes加密的,使用CryptoJS 解密后中文乱码,至今还未解决,

楼主解决后请@我一下,谢谢!

请问解决了吗

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

楼主已解决,

针对帖子标题“HarmonyOS 鸿蒙Next新API内容解析:一点也看不懂”的问题,以下提供简洁直接的回答:

HarmonyOS鸿蒙Next版本的新API内容可能包含了一系列对系统能力、应用交互、设备管理等方面的增强和更新。由于API(应用程序接口)是连接应用程序与操作系统或特定服务的桥梁,其更新往往涉及到底层技术的调整和新功能的引入。

如果对新API内容感到难以理解,这可能是因为:

  1. 技术背景差异:新API可能涉及一些你尚未熟悉的技术概念或领域知识。
  2. 文档表述:官方文档或解析资料可能使用了较为专业或抽象的表述方式。

为了更有效地掌握新API内容,你可以尝试以下方法:

  • 查阅官方文档:鸿蒙系统的官方文档通常会提供详细的API说明和示例代码。
  • 参与开发者社区:鸿蒙开发者社区中可能有其他开发者分享的学习心得和实践经验。
  • 系统学习:如果可能,参加鸿蒙系统的培训课程或在线学习平台上的相关课程。

如果经过上述尝试后问题依旧没法解决,请联系官网客服。官网地址是:https://www.itying.com/category-93-b0.html 在那里,你可以获得更专业的帮助和指导。

回到顶部