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 设置变焦值,重新获取最新的变焦值,不一致 
1285浏览  • 1回复 待解决
HarmonyOS  单位不一致问题 
1175浏览  • 1回复 待解决
启动和调试的行为不一致 
1429浏览  • 1回复 待解决
Path组件绘制的线条粗细不一致 
2904浏览  • 1回复 待解决
签名不一致报错怎么回事? 
4214浏览  • 1回复 待解决
HarmonyOS scanInfo的bssid与linkInfo的bssid不一致 
1323浏览  • 1回复 待解决
依赖hsp出包,报错versionname不一致 
1139浏览  • 1回复 待解决
water flow 出现gap不一致问题 
1767浏览  • 1回复 待解决
HarmonyOS Flutter编译命令执行不一致的问题 
1073浏览  • 1回复 待解决
HarmonyOS backupDir获取的目录和说明不一致 
963浏览  • 1回复 待解决
HarmonyOS hap与集成态hsp的releaseType不一致 
1055浏览  • 1回复 待解决
HarmonyOS rotateX/rotateY,和web效果不一致 
1304浏览  • 1回复 待解决
napi里面,相同输入输出不一致 
2830浏览  • 1回复 待解决
window 全屏操作不同设备表现不一致 
1424浏览  • 1回复 待解决
HarmonyOS Text组件文本上下间距不一致 
1137浏览  • 1回复 待解决
window 全屏操作不同设备表现不一致? 
1160浏览  • 0回复 待解决
HarmonyOS 文件md5值计算问题 
1088浏览  • 1回复 待解决
HarmonyOS  如何计算文件的md5值 
1783浏览  • 1回复 待解决
HarmonyOS 通知渠道与通知提醒方式不一致 
1431浏览  • 1回复 待解决
使用ListItemGroup后列表Item高度不一致问题 
1849浏览  • 2回复 待解决
文字空行高度与字体高度不一致 
3212浏览  • 1回复 待解决
HarmonyOS 不同的手机和电脑获取到的appId不一致 
1242浏览  • 1回复 待解决
docker 部署的iserver 操作日志时间与系统不一致 
5091浏览  • 1回复 待解决
Tab控件中tabBar子控件之间的间距不一致 
2995浏览  • 1回复 待解决
HarmonyOS 资质和ICP备案名称些许不一致 
971浏览  • 1回复 待解决





















ArkTS代码有误,参照以下方式书写