diff --git a/src/main/java/systems/brn/chatencryptor/SecureChat.java b/src/main/java/systems/brn/chatencryptor/SecureChat.java index b117305..72d548b 100644 --- a/src/main/java/systems/brn/chatencryptor/SecureChat.java +++ b/src/main/java/systems/brn/chatencryptor/SecureChat.java @@ -27,13 +27,14 @@ import java.time.Instant; public class SecureChat implements ClientModInitializer { private boolean decryptChatMessage(Text message, @Nullable SignedMessage signedMessage, @Nullable GameProfile sender, MessageType.Parameters params, Instant receptionTimestamp) { + Config.HANDLER.load(); TranslatableTextContent content = (TranslatableTextContent) message.getContent(); String message_content = content.getArg(1).getString(); String player_name = content.getArg(0).getString(); if(message_content.startsWith("®") && message_content.endsWith("®")){ try { Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); - cipher.init(Cipher.ENCRYPT_MODE, Config.HANDLER.instance().getRawKey(), Config.HANDLER.instance().getRawIv()); + cipher.init(Cipher.DECRYPT_MODE, Config.HANDLER.instance().getRawKey(), Config.HANDLER.instance().getRawIv()); String strippedMessage = message_content.replace("®", ""); byte[] decodedMessage = ChatCoder.decodeFromBmp(strippedMessage); cipher.update(decodedMessage); @@ -51,11 +52,12 @@ public class SecureChat implements ClientModInitializer { } private String encryptChatMessage(String message) { + Config.HANDLER.load(); if(Config.HANDLER.instance().isEnabled()){ String encodedMessage; try { Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); - cipher.init(Cipher.DECRYPT_MODE, Config.HANDLER.instance().getRawKey(), Config.HANDLER.instance().getRawIv()); + cipher.init(Cipher.ENCRYPT_MODE, Config.HANDLER.instance().getRawKey(), Config.HANDLER.instance().getRawIv()); cipher.update(message.getBytes(StandardCharsets.UTF_8)); byte[] encryptedMessage = cipher.doFinal(); encodedMessage = ChatCoder.encodeToBmp(encryptedMessage);