fix leak (#43)

- add SLF4J as a dependency in pom.xml
- replace System.out.println with log.warn (prevent leak)
This commit is contained in:
Xiao
2026-07-14 16:03:52 -04:00
committed by GitHub
parent 273f10a987
commit c8e9b50883
4 changed files with 22 additions and 5 deletions
@@ -1,12 +1,16 @@
package de.caydenno1.xacrypto.zekerrijndael.GCM;
import de.caydenno1.xacrypto.misc.ToM;
import de.caydenno1.xacrypto.misc.XACryptoException;
import de.caydenno1.xacrypto.misc.isNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Arrays;
import java.util.Objects;
public class GCM {
private static final Logger log = LoggerFactory.getLogger(GCM.class);
private final BlockCipher cip;
private final GHASH gh;
@@ -63,7 +67,7 @@ public class GCM {
if (!corr && !override) {
throw new XACryptoException("GCM tag does not match. Use Flag -override to ignore this.",(byte)-1);
} else if (!corr) {
System.out.println("GCM tag does not match. Overriding...");
log.warn("GCM tag does not match. Overriding...");
}
return gctr(inc32(J0), ct);
@@ -4,6 +4,8 @@ import de.caydenno1.xacrypto.misc.XACryptoException;
import de.caydenno1.xacrypto.zekerrijndael.GCM.GHASH;
import de.caydenno1.xacrypto.zekerrijndael.GCM.AES;
import de.caydenno1.xacrypto.zekerrijndael.GCM.Result;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Objects;
@@ -16,8 +18,10 @@ interface AESCipher {
}
public class AESGCM implements AESCipher {
private static final Logger log = LoggerFactory.getLogger(AESGCM.class);
public Result encryptBlock(byte[] pln, byte[] key, byte[] nonce, byte[] aad) throws XACryptoException {
System.out.println("WARNING! AESGCM may not be fully functional and partially broken. I am unsure if it fully works or not.");
log.warn("AESGCM may not be fully functional and partially broken. I am unsure if it fully works or not.");
AES aes = new AES(key, getKeySize(key));
byte[] H = aes.encryptBlock(new byte[16]);
GHASH gh = new GHASH(H);
@@ -82,7 +86,7 @@ public class AESGCM implements AESCipher {
if (!ToM(tag, expectedTag) && !flag) {
throw new XACryptoException("Tag does not match. USE flag \"-override\" to ignore this.");
} else if (!ToM(tag,expectedTag) && flag) {
System.out.println("Continuing in insecure mode.");
log.warn("Continuing in insecure mode.");
}
return aes.encryptCTR(cip, J0);