HarmonyOS如何对一个文件内容进行MD5计算
这样实现是否正确:
/** 
 * 获取单个文件的MD5值 
 */ 
public static async getFileMD5(filePath: string): Promise<string> { 
  let fState: fs.Stat = fs.statSync(filePath); 
  if (!fState.isFile()) { 
  return ""; 
} 
let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY); 
try { 
  let md = cryptoFramework.createMd('MD5'); 
  let arrayBuffer = new ArrayBuffer(1024); 
  let offset = 0; 
  let readLen = -1; 
  do { 
    readLen = fs.readSync(file.fd, arrayBuffer, { 
      offset: offset,// 表示期望读取文件的位置。可选,默认从当前位置开始读。 
      length: 1024 // 表示期望读取数据的长度。可选,默认缓冲区长度。 
    }) 
    if (readLen > 0) { 
      offset += readLen; 
      let buf = buffer.from(arrayBuffer, 0, readLen).buffer; 
      let updateMessageBlob: cryptoFramework.DataBlob = { data: new Uint8Array(buf) }; 
      await md.update(updateMessageBlob); 
    } 
  } while (readLen > 0) 
  let mdOutput = await md.digest(); 
  return StringUtils.uint8ArrayToHexStr(mdOutput.data); 
} catch (e) { 
  return ""; 
} finally { 
  fs.closeSync(file); 
} 
}问题1:在while循环中调用fs.readSync,其offset该怎么设值?
问题2:循环结束的判断条件readLen > 0是否正确?
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS 大文件进行md5计算的方法咨询 
993浏览  • 1回复 待解决
HarmonyOS  如何计算文件的md5值 
1783浏览  • 1回复 待解决
HarmonyOS 文件md5值计算问题 
1085浏览  • 1回复 待解决
HarmonyOS 中如何对一个字符串进行md5加密 
1158浏览  • 1回复 待解决
如何对ArrayBuffer字节流进行MD5? 
1117浏览  • 1回复 待解决
如何对字符串进行MD5哈希处理 
3909浏览  • 1回复 待解决
HarmonyOS md5进行加密 
1079浏览  • 1回复 待解决
HarmonyOS 对字符串进行md5加密的demo 
900浏览  • 1回复 待解决
HarmonyOS RawFile的文件如何计算md5,如何copy资源到files目录? 
977浏览  • 1回复 待解决
HarmonyOS 密码怎么进行MD5加密 
969浏览  • 1回复 待解决
如何对一个文件进行读写操作 
1654浏览  • 1回复 待解决
HarmonyOS  关于求文件的md5 
1127浏览  • 1回复 待解决
HarmonyOS 消息认证码计算是否支持MD5 
793浏览  • 1回复 待解决
如何使用@ohos.security.cryptoFramework库对字符串进行MD5加密? 
1005浏览  • 1回复 待解决
HarmonyOS 给一个字符串MD5的demo 
901浏览  • 1回复 待解决
HarmonyOS MD5实现 
1225浏览  • 1回复 待解决
HarmonyOS MD5签名 
1152浏览  • 1回复 待解决
HarmonyOS  字节数组进行MD5加密 
1034浏览  • 1回复 待解决
HarmonyOS MD5加密示例 
1164浏览  • 1回复 待解决
dlopen打开.so文件并使用md5加密 
1663浏览  • 1回复 待解决
HarmonyOS  MD5加密相关demo 
1411浏览  • 1回复 待解决
想了解一下MD5算法示例。 
1949浏览  • 1回复 待解决
HarmonyOS 关于MD5算法的问题 
1181浏览  • 1回复 待解决
HarmonyOS的md5加解密 rsa加解密 md5加解密等有公共方法么? 
1960浏览  • 1回复 待解决
HarmonyOS 咨询下p12文件md5 
944浏览  • 1回复 待解决





















计算文件MD5可以使用hash.hash,只计算文件内容https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-hash-V5#hashhash
上述代码中:
问题1:offset做累加。
问题2:循环结束的判断条件readLen > 0正确。参考代码: