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值计算问题
36浏览 • 1回复 待解决
HarmonyOS 如何计算文件的md5值
699浏览 • 1回复 待解决
HarmonyOS 中如何对一个字符串进行md5加密
0浏览 • 1回复 待解决
如何对ArrayBuffer字节流进行MD5?
235浏览 • 1回复 待解决
如何对字符串进行MD5哈希处理
2692浏览 • 1回复 待解决
HarmonyOS md5进行加密
71浏览 • 1回复 待解决
如何对一个文件进行读写操作
496浏览 • 1回复 待解决
HarmonyOS 密码怎么进行MD5加密
44浏览 • 1回复 待解决
HarmonyOS 关于求文件的md5
65浏览 • 1回复 待解决
HarmonyOS 给一个字符串MD5的demo
34浏览 • 1回复 待解决
如何使用@ohos.security.cryptoFramework库对字符串进行MD5加密?
194浏览 • 1回复 待解决
HarmonyOS MD5实现
44浏览 • 1回复 待解决
HarmonyOS MD5签名
36浏览 • 1回复 待解决
HarmonyOS 字节数组进行MD5加密
38浏览 • 1回复 待解决
dlopen打开.so文件并使用md5加密
782浏览 • 1回复 待解决
想了解一下MD5算法示例。
848浏览 • 1回复 待解决
HarmonyOS MD5加密相关demo
522浏览 • 1回复 待解决
如何读取一个文件的内容到另一个文件中
470浏览 • 1回复 待解决
HarmonyOS 咨询下p12文件md5
64浏览 • 1回复 待解决
HarmonyOS 关于MD5算法的问题
0浏览 • 1回复 待解决
求告知ArkTS如何获取MD5值
751浏览 • 0回复 待解决
HarmonyOS 需要MD5加密算法
44浏览 • 1回复 待解决
HarmonyOS MD5加密算法demo
37浏览 • 1回复 待解决
HarmonyOS 如何获取媒体资源的md5信息
809浏览 • 1回复 待解决
HarmonyOS的md5加解密 rsa加解密 md5加解密等有公共方法么?
795浏览 • 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正确。参考代码: