HarmonyOS MD5加密示例?

如题:HarmonyOS MD5加密示例?

阅读 691
1 个回答

可以参考以下文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-cryptoframework-V5\#md

详情参考以下demo:

let base64 = new util.Base64Helper();
export function DoMdByPromise() {
  // 摘要算法名称。
  let mdAlgName = "MD5";
  // 要进行摘要的数据。
  let message = "Hello,中国";
  let md = cryptoFramework.createMd(mdAlgName);
  ;
  // 如果数据量较小,可以使用 update() 一次传入所有数据。输入参数的长度没有限制。
  let promiseMdUpdate = md.update({ data: stringToUint8Array(message) });
  promiseMdUpdate.then(() => {
    let PromiseMdDigest = md.digest();
    return PromiseMdDigest;
  }).then(digestOutput => {
    let mdOutput = digestOutput.data;
    let str2 = uint8ArrayToHexStr(mdOutput);
    let str = base64.encodeToStringSync(mdOutput);
    let str1 = uint8ArrayToString(mdOutput);
    let mdLen = md.getMdLength();
  }).catch((error: BusinessError) => {
    console.error("[Promise]: error: " + error.message);
  });
}

//摘要结果是Uint8Array类型,转换得到十六进制字符串数据
function uint8ArrayToHexStr(data: Uint8Array): string {
  let hexString = "";
  let i: number;
  for (i = 0; i < data.length; i++) {
    let char = ('00' + data[i].toString(16)).slice(-2);
    hexString += char;
  }
  return hexString;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进