From c33e09eacac84edc6da4f08636b857dce8e53fcb Mon Sep 17 00:00:00 2001 From: cyian-1756 Date: Tue, 30 Oct 2018 18:08:48 -0400 Subject: [PATCH] Updater now works on java 9 and 10 --- src/main/java/com/rarchives/ripme/ui/UpdateUtils.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java b/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java index 464d0530..c76fd959 100644 --- a/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java +++ b/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java @@ -198,7 +198,7 @@ public class UpdateUtils { } // Code take from https://stackoverflow.com/a/30925550 - private static String createSha256(File file) { + public static String createSha256(File file) { try { MessageDigest digest = MessageDigest.getInstance("SHA-256"); InputStream fis = new FileInputStream(file); @@ -210,8 +210,14 @@ public class UpdateUtils { digest.update(buffer, 0, n); } } + byte[] hash = digest.digest(); + StringBuilder sb = new StringBuilder(2 * hash.length); + for (byte b : hash) { + sb.append("0123456789ABCDEF".charAt((b & 0xF0) >> 4)); + sb.append("0123456789ABCDEF".charAt((b & 0x0F))); + } // As patch.py writes the hash in lowercase this must return the has in lowercase - return new HexBinaryAdapter().marshal(digest.digest()).toLowerCase(); + return sb.toString().toLowerCase(); } catch (NoSuchAlgorithmException e) { logger.error("Got error getting file hash " + e.getMessage()); } catch (FileNotFoundException e) {