HarmonyOS sha512能否直接对字符串进行hash,api是要求输入文本路径

代码如下:

let filePath = pathDir + "/test.txt";
hash.hash(filePath, "sha256").then((str: string) => {
  console.info("calculate file hash succeed:" + str);
}).catch((err: BusinessError) => {
  console.error("calculate file hash failed with error message: " + err.message + ", error code: " + err.code);
});
HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

sha512 hash的摘要代码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 = 'SHA512'; // 摘要算法名
  // 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);
}
分享
微博
QQ
微信
回复
1天前
相关问题
如何字符串进行MD5哈希处理
2702浏览 • 1回复 待解决
HarmonyOS字符串SHA-1开发问题
460浏览 • 1回复 待解决
HarmonyOS 支持字符串的正则处理么
39浏览 • 1回复 待解决
emoji字符串无法进行截取
886浏览 • 1回复 待解决
sql 怎么带单位字符串排序?
2359浏览 • 1回复 待解决
检查字符串是否以给定的字符串开头
553浏览 • 1回复 待解决
HarmonyOS 替换字符串
24浏览 • 1回复 待解决
HarmonyOS 字符串显示异常
486浏览 • 1回复 待解决
HarmonyOS字符串替换问题
911浏览 • 1回复 待解决
检查字符串是否以给定的字符串结尾
438浏览 • 1回复 待解决
HarmonyOS ASCII转字符串
35浏览 • 1回复 待解决
HarmonyOS 字符串编码问题
83浏览 • 1回复 待解决
HarmonyOS 替换字符串问题
57浏览 • 1回复 待解决