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
2024-12-25 16:41:44
浏览
收藏 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
微信
回复
2024-12-25 18:42:20
相关问题
HarmonyOS 字符串进行SHA1编码
87浏览 • 1回复 待解决
HarmonyOS字符串SHA-1开发问题
623浏览 • 1回复 待解决
HarmonyOS string字符串sha1加密方法
96浏览 • 1回复 待解决
如何字符串进行MD5哈希处理
2877浏览 • 1回复 待解决
HarmonyOS 字符串进行md5加密的demo
96浏览 • 1回复 待解决
emoji字符串无法进行截取
1042浏览 • 1回复 待解决
sql 怎么带单位字符串排序?
2447浏览 • 1回复 待解决
HarmonyOS 支持字符串的正则处理么
180浏览 • 1回复 待解决
字符串反射
223浏览 • 1回复 待解决
HarmonyOS 替换字符串
318浏览 • 1回复 待解决
检查字符串是否以给定的字符串结尾
597浏览 • 1回复 待解决
检查字符串是否以给定的字符串开头
762浏览 • 1回复 待解决