MD5的代码demo实现如下:import { cryptoFramework } from '@kit.CryptoArchitectureKit'; import { buffer, util } from '@kit.ArkTS'; @Entry @Component struct MD5Crypto { @State message: string = '点击开始'; build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) .onClick(() => { doMdBySync("") }) } .width('100%') } .height('100%') } } const base = new util.Base64Helper(); function doMdBySync(message:string) { let mdAlgName = 'SHA256'; // 摘要算法名 // let message = 'mdTestMessgae'; // 待摘要的数据 let md = cryptoFramework.createMd(mdAlgName); // 数据量较少时,可以只做一次update,将数据全部传入,接口未对入参长度做限制 md.updateSync({ data: new Uint8Array(buffer.from(message, 'utf-8').buffer) }); let mdResult = md.digestSync(); console.info('[Sync]:Md result base64:' + base.encodeToStringSync(mdResult.data)); console.info('Md result hex:' + buffer.from(mdResult.data).toString('hex')); let mdLen = md.getMdLength(); console.info("md len: " + mdLen); }
MD5的代码demo实现如下: