// SM3Hash
export async function SM3Hash(plainText: string): Promise<string> {
let mdAlgName = 'SM3'; // 摘要算法名
let md = cryptoFramework.createMd(mdAlgName);
// 数据量较少时,可以只做一次update,将数据全部传入,接口未对入参长度做限制
await md.update({ data: new Uint8Array(buffer.from(plainText, 'utf-8').buffer) });
let mdResult = await md.digest();
console.info('Md result:' + mdResult.data);
return uint8ArrayToString(mdResult.data);
}
使用的uint8ArrayToString方法为解密中解码的方法,在此应该用转base64或在十六进制数据base64格式字符串:new util.Base64Helper().encodeToStringSync(str)
十六进制字符串:buffer.from(data).toString(‘hex’)