1 个回答
function stringToUint8Array(str: string) {
  return new Uint8Array(buffer.from(str,‘utf-8’).buffer);
}

async function doMd5() {

  let TAG=“Test-”;

  let mdAlgName = “MD5”;

  let md = cryptoFramework.createMd(mdAlgName);

  console.info(“mdAlgName:” + md.algName);

  let promiseMdUpdate = md.update({ data: stringToUint8Array(bodyStr) });

  promiseMdUpdate.then(() => {

    let PromiseMdDigest = md.digest();

    //console.log(“MD5:”+PromiseMdDigest);

    return PromiseMdDigest;

  }).then(digestOutput => {

    let mdOutput = digestOutput;

    console.info(TAG+“Result:” + mdOutput.data);

    //转成16进制

    let buf=buffer.from(mdOutput.data);

    console.log(TAG+“Hex222:”+buf.toString(“hex”));

    let mdLen = md.getMdLength();

    console.info(TAG+"MDlength: " + mdLen);

    //转成base64

    let base64=new util.Base64Helper;

    let resBase64=base64.encodeToStringSync(mdOutput.data)

    console.log(TAG+“base64:”+resBase64)

  }).catch((error: BusinessError) => {

    console.error(“error:” + error.message);

  });

}

官方文档可参考:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-cryptoframework-0000001820881417\#ZH-CN\_TOPIC\_0000001820881417\_\_cryptoframeworkcreatemd

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进