HarmonyOS 签名后生成的unit8array如何转成字符串?

这是你们之前提供签名方法,签名后的数据怎么转成字符串呢:

// 完整的明文被拆分为input1和input2
let input1: cryptoFramework.DataBlob = { data: new Uint8Array(buffer.from("This is Sign test plan1", 'utf-8').buffer) };
let input2: cryptoFramework.DataBlob = { data: new Uint8Array(buffer.from("This is Sign test plan2", 'utf-8').buffer) };
async function signMessagePromise(priKey: cryptoFramework.PriKey) {
  let signAlg = "RSA1024|PKCS1|MD5";
  let signer = cryptoFramework.createSign(signAlg);
  await signer.init(priKey);
  await signer.update(input1); // 如果明文较短,可以直接调用sign接口一次性传入
  let signData = await signer.sign(input2);
  return signData;
}
阅读 497
1 个回答

使用base65转码就可以了:

let str = base64Helper.encodeToStringSync(signData.data)