diff --git a/libs/security-1.0.0.jar b/libs/security-1.0.0.jar new file mode 100644 index 0000000..2e46994 Binary files /dev/null and b/libs/security-1.0.0.jar differ diff --git a/src/main/java/com/eactive/eai/transformer/function/crypto/SeedKJDecrypt.java b/src/main/java/com/eactive/eai/transformer/function/crypto/SeedKJDecrypt.java index 3243243..f22dbc1 100644 --- a/src/main/java/com/eactive/eai/transformer/function/crypto/SeedKJDecrypt.java +++ b/src/main/java/com/eactive/eai/transformer/function/crypto/SeedKJDecrypt.java @@ -4,29 +4,25 @@ import java.util.Stack; import org.nfunk.jep.ParseException; import org.nfunk.jep.function.PostfixMathCommand; - -import com.eactive.eai.common.property.PropManager; - import java.nio.charset.StandardCharsets; import org.apache.commons.lang3.StringUtils; // kj bank import 2025-09-23 jwhong -//import org.kjbank.simple.core.crypto.seed.SeedUtil; -import com.eactive.eai.common.seed.SeedKJ; - +//import com.eactive.eai.common.seed.SeedKJ; +//security-1.0.0.jar 사용으로 변경 2026-01-05 +import com.eactive.eai.security.seed.Seed; +import com.eactive.eai.common.context.ElinkTransactionContext; public class SeedKJDecrypt extends PostfixMathCommand { public SeedKJDecrypt() { - numberOfParameters = 2; + numberOfParameters = 1; } public void run(Stack inStack) throws ParseException { checkStack(inStack); - - // USER FUNCTION에서 Parameter 에서 가져옴 - Object param2 = inStack.pop(); - String param2Str = String.valueOf(param2); // null 안전 처리 - String decryptKey = StringUtils.leftPad(param2Str, 16, '0'); + + String seedKey = ElinkTransactionContext.getSeedKey(); + String decryptKey = StringUtils.leftPad(seedKey, 16, '0'); Object param = inStack.pop(); @@ -52,8 +48,8 @@ public class SeedKJDecrypt extends PostfixMathCommand { } try { - String decryptedData = SeedKJ.decrypt(new String(value, StandardCharsets.UTF_8), decryptKey); - + String decryptedData = Seed.decrypt(decryptKey, new String(value, StandardCharsets.UTF_8)); + inStack.push(decryptedData); } catch (Exception e) { //throw new ExecutionException(e.getMessage(), parameters, e); diff --git a/src/main/java/com/eactive/eai/transformer/function/crypto/SeedKJEncrypt.java b/src/main/java/com/eactive/eai/transformer/function/crypto/SeedKJEncrypt.java index f2141e0..9af4702 100644 --- a/src/main/java/com/eactive/eai/transformer/function/crypto/SeedKJEncrypt.java +++ b/src/main/java/com/eactive/eai/transformer/function/crypto/SeedKJEncrypt.java @@ -5,29 +5,27 @@ import java.util.Stack; import org.nfunk.jep.ParseException; import org.nfunk.jep.function.PostfixMathCommand; -import com.eactive.eai.common.property.PropManager; - import java.nio.charset.StandardCharsets; -// kj bank import 2025-09-23 jwhong -import com.eactive.eai.common.seed.SeedKJ; -import com.eactive.eai.common.seed.SeedCipher; +// security-1.0.0.jar 사용으로 변경 2026-01-05 +import com.eactive.eai.security.seed.Seed; +//kj bank import 2025-09-23 jwhong +//import com.eactive.eai.common.seed.SeedKJ; + import org.apache.commons.lang3.StringUtils; import java.util.Base64; -//import org.kjbank.simple.core.crypto.seed.SeedUtil; +import com.eactive.eai.common.context.ElinkTransactionContext; public class SeedKJEncrypt extends PostfixMathCommand { public SeedKJEncrypt() { - numberOfParameters = 2; + numberOfParameters = 1; } public void run(Stack inStack) throws ParseException { checkStack(inStack); - // USER FUNCTION에서 Parameter 에서 가져옴 - Object param2 = inStack.pop(); - String param2Str = String.valueOf(param2); // null 안전 처리 - String encryptKey = StringUtils.leftPad(param2Str, 16, '0'); + String seedKey = ElinkTransactionContext.getSeedKey(); + String encryptKey = StringUtils.leftPad(seedKey, 16, '0'); Object param = inStack.pop(); @@ -53,7 +51,7 @@ public class SeedKJEncrypt extends PostfixMathCommand { } try { - String encryptedData = SeedKJ.encrypt(new String(value, StandardCharsets.UTF_8), encryptKey); + String encryptedData = Seed.encrypt(encryptKey, new String(value, StandardCharsets.UTF_8)); inStack.push(encryptedData); } catch (Exception e) {