我在上传之前使用crypto-js来计算我的文件的MD5 校验和,下面是我的代码。
import CryptoJS from "crypto-js";
const getMd5 = async (fileObject) => {
let md5 = "";
try {
const fileObjectUrl = URL.createObjectURL(fileObject);
const blobText = await fetch(fileObjectUrl)
.then((res) => res.blob())
.then((res) => new Response(res).text());
const hash = CryptoJS.MD5(CryptoJS.enc.Latin1.parse(blobText));
md5 = hash.toString(CryptoJS.enc.Hex);
} catch (err) {
console.log("Error occured getMd5:", err);
}
return md5;
};
以上代码仅适用于文本文件,但在处理非文本文件、图像、视频等时,校验和计算不正确。
任何帮助/输入表示赞赏。谢谢!