HarmonyOS 需要MD5加密算法

HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

MD5加密参考一下demo:

function doMdByPromise() {
  // 摘要算法名称。
  let mdAlgName = "MD5";
  // 要进行摘要的数据。
  let message = "Hello,中国";
  let md = cryptoFramework.createMd(mdAlgName);
  console.info("[Promise]: Md algName is: " + md.algName);
  // 如果数据量较小,可以使用 update() 一次传入所有数据。输入参数的长度没有限制。
  let promiseMdUpdate = md.update({ data: stringToUint8Array(message) });
  promiseMdUpdate.then(() => {
    // 调用 digest() 以返回结果。
    let PromiseMdDigest = md.digest();
    return PromiseMdDigest;
  }).then(digestOutput => {
    let mdOutput = digestOutput.data;
    let str2 = uint8ArrayToHexStr(mdOutput);
    let str = base64.encodeToStringSync(mdOutput);
    let str1 = uint8ArrayToString1(mdOutput);
    console.info("[Promise]: MD result: " + mdOutput);
    let mdLen = md.getMdLength();
    console.info("[Promise]: MD len: " + mdLen);
  }).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;
}

// 字节流转成可理解的字符串
function uint8ArrayToString(array:Uint8Array) {
  // 将UTF-8编码转换成Unicode编码
  let out: string = "";
  let index: number = 0;
  let len: number = array.length;
  while (index < len) {
    let character = array[index++];
    switch(character >> 4) {
      case 0:
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
      case 6:
      case 7:
        out += String.fromCharCode(character);
        break;
      case 12:
      case 13:
        out += String.fromCharCode(((character & 0x1F) << 6) | (array[index++] & 0x3F));
        break;
      case 14:
        out += String.fromCharCode(((character & 0x0F) << 12) | ((array[index++] & 0x3F) << 6) | ((array[index++] & 0x3F) << 0));
        break;
      default:
        break;
    }
  }
  return out;
}
分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOS MD5加密算法demo
45浏览 • 1回复 待解决
HarmonyOS md5进行加密
72浏览 • 1回复 待解决
HarmonyOS 关于MD5算法的问题
25浏览 • 1回复 待解决
HarmonyOS MD5加密相关demo
529浏览 • 1回复 待解决
HarmonyOS 密码怎么进行MD5加密
47浏览 • 1回复 待解决
MD5加密后解码结果乱码
189浏览 • 1回复 待解决
HarmonyOS 请问有提供md5算法库吗?
273浏览 • 1回复 待解决
想了解一下MD5算法示例。
849浏览 • 1回复 待解决
没有找到相应的MD5算法实现
704浏览 • 1回复 待解决
HarmonyOS RSA加密算法实现
41浏览 • 1回复 待解决
HarmonyOS 字节数组进行MD5加密
48浏览 • 1回复 待解决
HarmonyOS 怎么实现特定的MD5加密方式
76浏览 • 2回复 待解决
HarmonyOS AES加密算法demo
41浏览 • 1回复 待解决
安全加密算法代码参考
1807浏览 • 1回复 待解决
dlopen打开.so文件并使用md5加密
785浏览 • 1回复 待解决
HarmonyOS SM2加密算法
33浏览 • 1回复 待解决
HarmonyOS MD5实现
54浏览 • 1回复 待解决
HarmonyOS MD5签名
41浏览 • 1回复 待解决
如何解决MD5加密中遇到的问题
966浏览 • 1回复 待解决
HarmonyOS APP备案需要证书的MD5和公钥
27浏览 • 1回复 待解决
HarmonyOS HmacSHA1 加密算法 参数问题
42浏览 • 1回复 待解决