diff --git a/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptMain.java b/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptMain.java index 38fbc7e..2b734b2 100644 --- a/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptMain.java +++ b/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptMain.java @@ -7,6 +7,7 @@ import me.hatter.tools.commons.io.RFile; import me.hatter.tools.commons.log.LogConfig; import me.hatter.tools.commons.log.LogTool; import me.hatter.tools.commons.log.LogTools; +import me.hatter.tools.commons.security.digest.Digests; import me.hatter.tools.commons.security.key.KeyPairTool; import me.hatter.tools.commons.security.key.KeyUtil; import me.hatter.tools.commons.security.key.PKType; @@ -192,7 +193,19 @@ public class TinyEncryptMain { result = false; // do not delete file } else if (tinyEncryptArgs.digest) { Bytes sha256 = EncryptedFileUtil.decryptAndDigest(config, f); - log.info(sha256.asHex() + " - " + f); + if (sha256 != null) { + log.info(sha256.asHex() + " - " + f); + File clearTextFile = EncryptedFileUtil.getDecryptFile(f); + if ((clearTextFile != null) && clearTextFile.exists()) { + Bytes clearTextSha256 = RFile.from(clearTextFile).digest(Digests.sha256()); + if (clearTextSha256.equals(sha256)) { + log.info("Clear text file exists, and matches."); + } else { + String nfn = f.toString(); + log.warn(clearTextSha256.asHex() + " - " + nfn.substring(0, nfn.length() - TinyEncryptConstant.ENC_FILE_EXT.length())); + } + } + } result = false; // do not delete file } else { result = EncryptedFileUtil.decryptFile(config, f); diff --git a/src/main/java/me/hatter/tools/tinyencrypt/config/TinyEncryptConstant.java b/src/main/java/me/hatter/tools/tinyencrypt/config/TinyEncryptConstant.java index 8f627fb..09d3da7 100644 --- a/src/main/java/me/hatter/tools/tinyencrypt/config/TinyEncryptConstant.java +++ b/src/main/java/me/hatter/tools/tinyencrypt/config/TinyEncryptConstant.java @@ -1,7 +1,7 @@ package me.hatter.tools.tinyencrypt.config; public class TinyEncryptConstant { - public static final String VERSION = "0.3.4"; + public static final String VERSION = "0.3.5"; public static final String ENC_FILE_EXT = ".tinyenc"; } diff --git a/src/main/java/me/hatter/tools/tinyencrypt/encrypt/EncryptedFileUtil.java b/src/main/java/me/hatter/tools/tinyencrypt/encrypt/EncryptedFileUtil.java index 8e0ba1a..40644bc 100644 --- a/src/main/java/me/hatter/tools/tinyencrypt/encrypt/EncryptedFileUtil.java +++ b/src/main/java/me/hatter/tools/tinyencrypt/encrypt/EncryptedFileUtil.java @@ -54,7 +54,9 @@ public class EncryptedFileUtil { public static Bytes decryptAndDigest(TinyEncryptConfig config, File file) { DigestOutputStream outputStream = new DigestOutputStream(new NilOutputStream(), Digests.sha256()); - decryptToOutputStream(config, file, outputStream); + if (!decryptToOutputStream(config, file, outputStream)) { + return null; + } return outputStream.digest(); }