HarmonyOS MD5签名问题?

网络请求MD5数据签名,怎么使用HarmonyOS实现,代码如下:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Utils {
  public static String MD5(String str) {
  MessageDigest md5 = null;
  try {
  md5 = MessageDigest.getInstance("MD5");
  byte[] bytes = md5.digest((str + key).getBytes());
  String result = "";
  for (byte b : bytes) {
    String temp = Integer.toHexString(b & 0xff);
    if (temp.length() == 1) {
    temp = "0" + temp;
    }
    result += temp;
  }
    return result;
  } catch (NoSuchAlgorithmException e) {
    e.printStackTrace();
  }
    return "";
  }
}
阅读 484
1 个回答

参考示例如下:

import cryptoFramework from '@ohos.security.cryptoFramework';
import buffer from '@ohos.buffer';

@Entry
@Component
struct Md5 {
  build() {
    Button('MD5加密').width(100).height(100)
      .onClick(async () => {
        let md = cryptoFramework.createMd('MD5');
        await md.update({ data: new Uint8Array(buffer.from('中国您好', 'utf-8').buffer) });
        let mdOutput = await md.digest();
        console.info('[Promise]: MD result1: ' + mdOutput.data);
        const result = Array.from(mdOutput.data).map(byte => byte.toString(16)).join('')
        console.info("ssss:", result)
      })
  }
}

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-cryptoframework-V5