md.digest 计算的消息摘要与JDK计算的值不一致
有个特性需要计算文件的摘要信息。使用SHA-256算法做了计算,发现与java代码计算的结果不一致。
let md: cryptoFramework.Md;
try {
md = cryptoFramework.createMd('SHA256');
} catch (e) {
logger.error(TAG, 'createMd with SHA256 fail:' + JSON.parse(e));
expect(e).assertFail();
return;
}
let inputStream: fs.Stream | undefined = undefined;
try {
// let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY);
inputStream = await fs.createStream(filePath, 'r+');
let readLen = 256;
let readSize = 0;
while (readLen > 0) {
let buf = new ArrayBuffer(readLen);
readLen = await inputStream.read(buf, {
offset: readSize
});
readSize += readLen;
// arkTS 计算的数据类型为 Uint8Array
let inputDataBlob: cryptoFramework.DataBlob = {
data: new Uint8Array(buf)
}
await md.update(inputDataBlob);
}
// 计算结果
let mdDigest = await md.digest();
public static byte[] computeHashOfFile(String fileLocation, String hashType) {
MessageDigest md;
byte[] hash = null;
try {
md = MessageDigest.getInstance(hashType);
} catch (NoSuchAlgorithmException e) {
return null;
}
try (InputStream fis = new FileInputStream(fileLocation)) {
int n = 0;
int readSize = 0;
while (n != -1) {
byte[] buffer = new byte[256];
n = fis.read(buffer);
if (n > 0) {
md.update(buffer, 0, n);
readSize += n;
}
}
hash = md.digest();
} catch (IOException e) {
}
return hash;
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 设置变焦值,重新获取最新的变焦值,不一致
503浏览 • 0回复 待解决
HarmonyOS 单位不一致问题
307浏览 • 1回复 待解决
启动和调试的行为不一致
521浏览 • 1回复 待解决
Path组件绘制的线条粗细不一致
2185浏览 • 1回复 待解决
签名不一致报错怎么回事?
3067浏览 • 1回复 待解决
HarmonyOS scanInfo的bssid与linkInfo的bssid不一致
356浏览 • 1回复 待解决
HarmonyOS Flutter编译命令执行不一致的问题
379浏览 • 1回复 待解决
HarmonyOS backupDir获取的目录和说明不一致
202浏览 • 1回复 待解决
water flow 出现gap不一致问题
933浏览 • 1回复 待解决
依赖hsp出包,报错versionname不一致
359浏览 • 1回复 待解决
HarmonyOS 如何计算文件的md5值
898浏览 • 1回复 待解决
HarmonyOS 文件md5值计算问题
250浏览 • 1回复 待解决
HarmonyOS hap与集成态hsp的releaseType不一致
287浏览 • 1回复 待解决
napi里面,相同输入输出不一致
2074浏览 • 1回复 待解决
HarmonyOS rotateX/rotateY,和web效果不一致
627浏览 • 1回复 待解决
HarmonyOS Text组件文本上下间距不一致
244浏览 • 1回复 待解决
window 全屏操作不同设备表现不一致
648浏览 • 1回复 待解决
window 全屏操作不同设备表现不一致?
429浏览 • 0回复 待解决
HarmonyOS 不同的手机和电脑获取到的appId不一致
383浏览 • 1回复 待解决
HarmonyOS 通知渠道与通知提醒方式不一致
366浏览 • 1回复 待解决
文字空行高度与字体高度不一致
2362浏览 • 1回复 待解决
使用ListItemGroup后列表Item高度不一致问题
833浏览 • 2回复 待解决
Tab控件中tabBar子控件之间的间距不一致
2134浏览 • 1回复 待解决
docker 部署的iserver 操作日志时间与系统不一致
4200浏览 • 1回复 待解决
HarmonyOS list中item数据显示效果不一致
180浏览 • 1回复 待解决
ArkTS代码有误,参照以下方式书写