package user.jobengine.server.steps;\r
\r
-import java.io.InputStream;\r
import java.nio.file.Files;\r
-import java.nio.file.Path;\r
import java.nio.file.Paths;\r
-import java.security.DigestInputStream;\r
import java.security.MessageDigest;\r
-import java.security.NoSuchAlgorithmException;\r
+\r
+import javax.xml.bind.DatatypeConverter;\r
\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
-import org.apache.logging.log4j.message.Message;\r
-import org.apache.logging.log4j.message.ParameterizedMessage;\r
-\r
-import user.commons.MediaCubeMarker;\r
\r
public class CalculateMD5Step extends JobStep {\r
private static final Logger logger = LogManager.getLogger(CalculateMD5Step.class);\r
// Message msg = new ParameterizedMessage("");\r
// logger.info(new MediaCubeMarker("vasary@elgekko.net,vasary@gmail.com", "MediaCube rendszerüzenet"), msg);\r
\r
- // getting file size\r
- Path fileToDigest = Paths.get(fileName);\r
- long fileSize = Files.size(fileToDigest);\r
-\r
- MessageDigest messageDigest = null;\r
- InputStream is = null;\r
- DigestInputStream dis = null;\r
- byte[] byteArray = new byte[1024]; // TODO buffersize mereture atirni\r
- byte[] digest = null;\r
- String md5String = null;\r
- int byteCount = 0;\r
-\r
- try {\r
- messageDigest = MessageDigest.getInstance("MD5");\r
- is = Files.newInputStream(Paths.get(fileName));\r
- dis = new DigestInputStream(is, messageDigest);\r
- while ((byteCount = dis.read(byteArray)) != -1) {\r
- messageDigest.update(byteArray, 0, byteCount);\r
- digest = messageDigest.digest();\r
- setProgress(1);\r
- }\r
- } catch (NoSuchAlgorithmException e) {\r
- e.printStackTrace();\r
- } finally {\r
- dis.close();\r
- }\r
-\r
- logger.info("digest= {}", digest.toString());\r
- logger.info("fileSize= {} bytes", fileSize);\r
- return new Object[] { digest.toString() };\r
+ MessageDigest messageDigest = MessageDigest.getInstance("MD5");\r
+ messageDigest.update(Files.readAllBytes(Paths.get(fileName)));\r
+ byte[] digest = messageDigest.digest();\r
+ String md5String = DatatypeConverter.printHexBinary(digest).toUpperCase();\r
+ logger.info("calculated MD5 hash= {}", md5String);\r
+ return new Object[] { md5String };\r
}\r
}
\ No newline at end of file
package user.jobengine.server.steps;\r
\r
-import java.io.InputStream;\r
import java.nio.file.Files;\r
-import java.nio.file.Path;\r
import java.nio.file.Paths;\r
-import java.security.DigestInputStream;\r
import java.security.MessageDigest;\r
-import java.security.NoSuchAlgorithmException;\r
+\r
+import javax.xml.bind.DatatypeConverter;\r
\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
// Message msg = new ParameterizedMessage("");\r
// logger.info(new MediaCubeMarker("vasary@elgekko.net,vasary@gmail.com", "MediaCube rendszerüzenet"), msg);\r
\r
- // getting file size\r
- Path fileToDigest = Paths.get(fileName);\r
- long fileSize = Files.size(fileToDigest);\r
-\r
- MessageDigest messageDigest = null;\r
- InputStream is = null;\r
- DigestInputStream dis = null;\r
- byte[] byteArray = new byte[1024]; // TODO buffersize mereture atirni\r
- byte[] digest = null;\r
- String md5String = null;\r
- int byteCount = 0;\r
-\r
- try {\r
- messageDigest = MessageDigest.getInstance("MD5");\r
- is = Files.newInputStream(Paths.get(fileName));\r
- dis = new DigestInputStream(is, messageDigest);\r
- while ((byteCount = dis.read(byteArray)) != -1) {\r
- messageDigest.update(byteArray, 0, byteCount);\r
- digest = messageDigest.digest();\r
- setProgress(1);\r
- }\r
- } catch (NoSuchAlgorithmException e) {\r
- e.printStackTrace();\r
- } finally {\r
- dis.close();\r
- }\r
-\r
- logger.info("digest= {}", digest.toString());\r
- logger.info("fileSize= {} bytes", fileSize);\r
- return new Object[] { digest.toString() };\r
+ MessageDigest messageDigest = MessageDigest.getInstance("MD5");\r
+ messageDigest.update(Files.readAllBytes(Paths.get(fileName)));\r
+ byte[] digest = messageDigest.digest();\r
+ String md5String = DatatypeConverter.printHexBinary(digest).toUpperCase();\r
+ logger.info("calculated MD5 hash= {}", md5String);\r
+ return new Object[] { md5String };\r
}\r
}
\ No newline at end of file