想了解一下MD5算法示例。

MD5算法示例。

HarmonyOS
2024-06-05 23:24:24
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
失望的满天星
function stringToUint8Array(str: string) { 
  return new Uint8Array(buffer.from(str,'utf-8').buffer); 
} 
 
function uint8ArrayToString(array:Uint8Array) { 
  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; 
} 
 
async function doMd5() { 
 
  let TAG='Test-'; 
 
  let mdAlgName = 'MD5'; 
 
  // let message = “ahdjashdjahduqwyieqwijkdals45451234545155aadasdadawdsa”; 
 
  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); 
 
  }); 
 
}
分享
微博
QQ
微信
回复
2024-06-06 23:06:39
相关问题
想了解一下SM4相关案例
607浏览 • 1回复 待解决
HarmonyOS 请问有提供md5算法库吗?
110浏览 • 1回复 待解决
没有找到相应的MD5算法实现
559浏览 • 1回复 待解决
HarmonyOS MD5加密相关demo
371浏览 • 1回复 待解决
MD5加密后解码结果乱码
87浏览 • 1回复 待解决
求告知ArkTS如何获取MD5
554浏览 • 0回复 待解决
HarmonyOS 如何计算文件的md5
511浏览 • 1回复 待解决
如何对ArrayBuffer字节流进行MD5
84浏览 • 1回复 待解决
如何解决MD5加密中遇到的问题
786浏览 • 1回复 待解决
如何对字符串进行MD5哈希处理
2548浏览 • 1回复 待解决
dlopen打开.so文件并使用md5加密
690浏览 • 1回复 待解决
如何通过uuid生成、md5、RSA、AES、 DES
1805浏览 • 1回复 待解决
HarmonyOS 如何获取媒体资源的md5信息
590浏览 • 1回复 待解决
HarmonyOS 如何将md5变成字符串?
200浏览 • 1回复 待解决