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值
574浏览 • 1回复 待解决
如何对ArrayBuffer字节流进行MD5?
147浏览 • 1回复 待解决
如何对字符串进行MD5哈希处理
2577浏览 • 1回复 待解决
如何使用@ohos.security.cryptoFramework库对字符串进行MD5加密?
118浏览 • 1回复 待解决
如何对一个文件进行读写操作
419浏览 • 1回复 待解决
HarmonyOS MD5加密相关demo
430浏览 • 1回复 待解决
dlopen打开.so文件并使用md5加密
706浏览 • 1回复 待解决
想了解一下MD5算法示例。
748浏览 • 1回复 待解决
HarmonyOS 如何获取媒体资源的md5信息
650浏览 • 1回复 待解决
求告知ArkTS如何获取MD5值
620浏览 • 0回复 待解决
HarmonyOS的md5加解密 rsa加解密 md5加解密等有公共方法么?
559浏览 • 1回复 待解决
HarmonyOS 如何将md5变成字符串?
223浏览 • 1回复 待解决
MD5加密后解码结果乱码
109浏览 • 1回复 待解决
如何通过uuid生成、md5、RSA、AES、 DES
1852浏览 • 1回复 待解决
HarmonyOS 请问有提供md5算法库吗?
151浏览 • 1回复 待解决
如何解决MD5加密中遇到的问题
835浏览 • 1回复 待解决
如何读取一个文件的内容到另一个文件中
402浏览 • 1回复 待解决
HarmonyOS 系统的加密库怎么使用MD5加密
396浏览 • 1回复 待解决
没有找到相应的MD5算法实现
618浏览 • 1回复 待解决
HarmonyOS 获取时间戳还有md5加密,有没有同步的方法
464浏览 • 1回复 待解决
如何对一个含有相同元素的数组进行去重操作?
484浏览 • 1回复 待解决
HarmonyOS 如何对web组件内容进行长截图?
158浏览 • 1回复 待解决
md.digest 计算的消息摘要与JDK计算的值不一致
1823浏览 • 1回复 待解决
获取rawfile下面的资源文件时 只有dom_exocr.lic能获取到 md5这个文件就获取不到
1516浏览 • 1回复 待解决
通过NDK开发AES、MD5、BASE64,是否有提供可调用库
1731浏览 • 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正确。参考代码: