HarmonyOS 鸿蒙Next如何做base64解密呢?

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

HarmonyOS 鸿蒙Next如何做base64解密呢?

鸿蒙如何做base64解密呢?  我通过以下方法 进行字符串的加密,现在需要对加密后的值解密,该怎么去做呢? import util from ‘@ohos.util’ // 字符串转成字节流 import { buffer } from ‘@kit.ArkTS’; // base64加密 export function StringToUint8Array(str: string) { return new util.Base64Helper().encodeToStringSync(new Uint8Array(buffer.from(str,‘utf-8’).buffer)) }


更多关于HarmonyOS 鸿蒙Next如何做base64解密呢?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

加密后的密文为二进制数组 转base64 字符串需要使用以下代码demo实例


  let base64 = new util.Base64Helper();

  let encryptText = rsaEncryptBySegment(keyPair.pubKey, plainText);

  base64.encodeToStringSync(encryptText.data)

base64的字符串转回二进制密文 传入解密中请参考以下代码demo实例


let testData =

    "HoXJXdWADAIVMiNgKxlL5uylyUqEyaBgFIMvJlm6Fgh4hVyHOI9jn4M7GZyCAg9v6gug6rLZx5-LID9T757oPuoJ1p7GD1W178is4fkM3uFFDt2zCf-XrkbaTAnIB7kgdPqUnGuiMXxEhxugXWhDlthyHqN8wHxyPDNuChQinpY";

  let encryptText: cryptoFramework.DataBlob = { data: new Uint8Array(buffer.from(testData,'utf-8').buffer)/*base64.decodeSync(testData)*/ };

  let decryptText = rsaDecryptBySegment(keyPair.priKey, encryptText);

希望我的答复可以解决您遇到的问题 期待您的回复 谢谢

输出 aaa 49,50,51,52,53


  let testData = "MTIzNDU=";

  let encryptText: cryptoFramework.DataBlob = { data: new Uint8Array/*(buffer.from(testData,'utf-8').buffer)*/(base64.decodeSync(testData)) };

  console.error("aaa "+ encryptText.data.toString())

希望我的答复可以解决您遇到的问题 期待您的回复 谢谢

更多关于HarmonyOS 鸿蒙Next如何做base64解密呢?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中进行base64解密,可以直接使用鸿蒙提供的API来完成。鸿蒙系统提供了丰富的系统库和接口,可以方便地处理包括base64编码解码在内的多种数据操作。

具体实现步骤如下:

  1. 引入必要的头文件:在鸿蒙系统的开发环境中,首先需要包含base64解码所需的头文件。鸿蒙系统通常提供了专门用于base64操作的模块,需要包含该模块的头文件。

  2. 调用解码函数:鸿蒙系统提供了base64解码的函数,该函数通常接受一个包含base64编码数据的输入缓冲区,以及一个用于存储解码后数据的输出缓冲区。你需要提供这两个缓冲区的指针,以及它们的大小。

  3. 处理解码结果:解码函数通常会返回一个状态码,表示解码操作是否成功。你需要检查这个状态码,并根据需要处理解码后的数据。

以下是一个简化的代码示例:

#include <base64_module.h> // 假设这是鸿蒙提供的base64头文件

int main() {
    const char* encoded_data = "your_base64_encoded_string";
    char decoded_data[MAX_SIZE]; // MAX_SIZE应足够大以容纳解码后的数据
    int decoded_len = base64_decode(encoded_data, strlen(encoded_data), decoded_data, MAX_SIZE);
    // decoded_len是解码后的数据长度,或者是一个错误码
    // 处理解码后的数据...
}

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

回到顶部