From 4e0b8f5f5f195ebe8a006679e52ab7fedeed6eaa Mon Sep 17 00:00:00 2001 From: Sweidan Omar Date: Mon, 13 Dec 2021 15:12:08 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C32577 --- .../LOCAL/jobs/steps/CalculateMD5Step.java | 12 ++++++++++-- .../jobengine/server/steps/CalculateMD5Step.java | 14 +++++++++----- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/server/-product/production/LOCAL/jobs/steps/CalculateMD5Step.java b/server/-product/production/LOCAL/jobs/steps/CalculateMD5Step.java index 94543db9..ef72b09a 100644 --- a/server/-product/production/LOCAL/jobs/steps/CalculateMD5Step.java +++ b/server/-product/production/LOCAL/jobs/steps/CalculateMD5Step.java @@ -1,7 +1,9 @@ package user.jobengine.server.steps; +import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Paths; +import java.security.DigestInputStream; import java.security.MessageDigest; import javax.xml.bind.DatatypeConverter; @@ -19,8 +21,14 @@ public class CalculateMD5Step extends JobStep { // logger.info(new MediaCubeMarker("vasary@elgekko.net,vasary@gmail.com", "MediaCube rendszerüzenet"), msg); MessageDigest messageDigest = MessageDigest.getInstance("MD5"); - messageDigest.update(Files.readAllBytes(Paths.get(fileName))); - byte[] digest = messageDigest.digest(); + InputStream is = Files.newInputStream(Paths.get(fileName)); + DigestInputStream dis = new DigestInputStream(is, messageDigest); + byte[] digest = new byte[1024]; + + while ((dis.read(digest)) != -1) { + messageDigest.update(digest); + } + String md5String = DatatypeConverter.printHexBinary(digest).toUpperCase(); logger.info("calculated MD5 hash= {}", md5String); return new Object[] { md5String }; diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/CalculateMD5Step.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/CalculateMD5Step.java index 2e8a263c..ef72b09a 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/CalculateMD5Step.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/CalculateMD5Step.java @@ -1,7 +1,9 @@ package user.jobengine.server.steps; +import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Paths; +import java.security.DigestInputStream; import java.security.MessageDigest; import javax.xml.bind.DatatypeConverter; @@ -18,13 +20,15 @@ public class CalculateMD5Step extends JobStep { // Message msg = new ParameterizedMessage(""); // logger.info(new MediaCubeMarker("vasary@elgekko.net,vasary@gmail.com", "MediaCube rendszerüzenet"), msg); - // 00 fa 10 21 bc + MessageDigest messageDigest = MessageDigest.getInstance("MD5"); + InputStream is = Files.newInputStream(Paths.get(fileName)); + DigestInputStream dis = new DigestInputStream(is, messageDigest); + byte[] digest = new byte[1024]; - // "00 fa 10 21 bc" + while ((dis.read(digest)) != -1) { + messageDigest.update(digest); + } - MessageDigest messageDigest = MessageDigest.getInstance("MD5"); - messageDigest.update(Files.readAllBytes(Paths.get(fileName))); - byte[] digest = messageDigest.digest(); String md5String = DatatypeConverter.printHexBinary(digest).toUpperCase(); logger.info("calculated MD5 hash= {}", md5String); return new Object[] { md5String }; -- 2.54.0