如何使用MD5进行消息摘要计算 HarmonyOS 鸿蒙Next

如何使用MD5进行消息摘要计算 HarmonyOS 鸿蒙Next

参考代码如下:

import { buffer, util } from '@kit.ArkTS'; 
import { cryptoFramework } from '@kit.CryptoArchitectureKit'; 
import { BusinessError } from '@kit.BasicServicesKit'; 

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); 
  }); 
}

参考链接

[@ohos.security.cryptoFramework (加解密算法库框架)](https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-cryptoframework-V5)


更多关于如何使用MD5进行消息摘要计算 HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于如何使用MD5进行消息摘要计算 HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙系统中,使用MD5进行消息摘要计算可以通过鸿蒙提供的安全模块来实现。以下是使用鸿蒙的API进行MD5摘要计算的示例代码:

import ohos.security.MessageDigest;

public class MD5Example {
    public static String getMD5(String input) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            byte[] messageDigest = md.digest(input.getBytes());
            StringBuilder sb = new StringBuilder();
            for (byte b : messageDigest) {
                sb.append(String.format("%02x", b));
            }
            return sb.toString();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    public static void main(String[] args) {
        String input = "Hello, HarmonyOS!";
        String md5Hash = getMD5(input);
        System.out.println("MD5 Hash: " + md5Hash);
    }
}

这段代码展示了如何在鸿蒙系统中使用MD5进行消息摘要计算。

回到顶部