HarmonyOS鸿蒙Next中直接运行官方网站的RSA加解密代码异常

HarmonyOS鸿蒙Next中直接运行官方网站的RSA加解密代码异常

本地测试代码:

import { describe, beforeAll, beforeEach, afterEach, afterAll, it } from '@ohos/hypium';
import { test } from '../main/ets/pages/RSAUtil';

export default function RSAUtilTest() {
  describe('RSAUtilTest', () => {
    beforeAll(() => {
    });
    beforeEach(() => {
    });
    afterEach(() => {
    });
    afterAll(() => {
    });

    it('assertContain', 0, () => {
      test();
    });
  });
}
Running all tests

测试结果:

  • Testing started at 14:57 …
  • keyPair.pubKey:[PC Preview] unknown format
  • keyPair.priKey:[PC Preview] unknown format
  • plainText:[object Object]
  • plainText.data:84,104,105…
  • plainText.data.utf:This is a long plainTest! This is a long plainTest! This is a long plainTest!This is a long plainTest! This is a long plainTest! This is a long plainTest! This is a long plainTest!This is a long plainTest! This is a long plainTest! This is a long plainTest! This is a long plainTest!This is a long plainTest! This is a long plainTest! This is a long plainTest! This is a long plainTest!This is a long plainTest! This is a long plainTest! This is a long plainTest! This is a long plainTest!This is a long plainTest! This is a long plainTest! This is a long plainTest! This is a long plainTest!This is a long plainTest! This is a long plainTest! This is a long plainTest! This is a long plainTest!This is a long plainTest! This is a long plainTest! This is a long plainTest! This is a long plainTest!
  • encryptText:[object Object]
  • encryptText.data:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  • encryptText.data.utf:
  • decryptText:[object Object]
  • decryptText.data:0,0,0
  • decryptText.data.utf:
  • decrypt failed
  • Tests Run Finish.

更多关于HarmonyOS鸿蒙Next中直接运行官方网站的RSA加解密代码异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

鸿蒙Next中运行官网RSA加解密代码异常可能是由于以下原因:

  1. 鸿蒙Next的ArkTS安全库与标准Web API存在差异
  2. RSA密钥格式要求不同,鸿蒙需使用特定密钥生成方式
  3. 鸿蒙的安全沙箱限制了对某些底层加密接口的访问
  4. 官网示例可能针对浏览器环境编写,未适配鸿蒙运行时环境

解决方法:使用鸿蒙提供的安全子系统API(@ohos.security.cryptoFramework)实现RSA加解密,该模块为鸿蒙原生加密框架,与系统深度集成。

更多关于HarmonyOS鸿蒙Next中直接运行官方网站的RSA加解密代码异常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中运行RSA加解密代码出现异常的问题,主要原因是PC预览环境下部分加密功能受限。从测试结果看,密钥对生成正常但加密后输出全0,这是典型的模拟器环境限制表现。

关键问题点:

  1. 密钥格式显示为"unknown format" - 这是PC预览环境的正常现象,不影响实际功能
  2. 加密输出全0数据 - 表明在模拟环境下实际加密操作未执行成功
  3. 解密结果同样异常 - 由于加密失败导致

解决方案建议:

  1. 在真机设备上测试这段代码,真机环境会正常执行加密操作
  2. 如需在PC预览环境测试,可考虑:
    • 使用mock数据替代实际加密结果
    • 添加环境判断逻辑,在模拟器时跳过实际加密步骤

代码本身逻辑是正确的,问题仅存在于PC预览环境的限制。真机运行应该能得到正确的加密结果和解密还原。

回到顶部