개발서버에 push위해
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,58 @@
|
||||
package com.eactive.eai.transformer.function.crypto;
|
||||
|
||||
import java.util.Stack;
|
||||
|
||||
import org.nfunk.jep.ParseException;
|
||||
import org.nfunk.jep.function.PostfixMathCommand;
|
||||
|
||||
import com.eactive.eai.common.property.PropManager;
|
||||
import com.initech.inisafenet.KeyFixManager;
|
||||
|
||||
public class IniSafeNetKJDecrypt extends PostfixMathCommand {
|
||||
public IniSafeNetKJDecrypt() {
|
||||
numberOfParameters = 1;
|
||||
}
|
||||
|
||||
public void run(Stack inStack) throws ParseException {
|
||||
checkStack(inStack);
|
||||
|
||||
Object param = inStack.pop();
|
||||
byte[] value = null;
|
||||
|
||||
KeyFixManager keyMgr = null;
|
||||
byte[] decData = null;
|
||||
|
||||
PropManager propManager = PropManager.getInstance();
|
||||
String sConf = propManager.getProperty("IniSafeNet","properties.path");
|
||||
String iniSafeKey = propManager.getProperty("IniSafeNet","key.value");
|
||||
|
||||
if (param instanceof String) {
|
||||
value = ((String) param).getBytes();
|
||||
} else if (param instanceof byte[]) {
|
||||
value = (byte[]) param;
|
||||
} else if (param instanceof Double) {
|
||||
if (((Double) param).doubleValue() == Math.round(((Double) param).doubleValue())) {
|
||||
value = new Long(Math.round(((Double) param).doubleValue())).toString().getBytes();
|
||||
} else {
|
||||
value =((Number) param).toString().getBytes();
|
||||
}
|
||||
} else if (param instanceof Number) {
|
||||
value = ((Number) param).toString().getBytes();
|
||||
} else if (param == null) {
|
||||
inStack.push(null);
|
||||
return;
|
||||
} else {
|
||||
throw new ParseException("Function의 파라미터 인수가 byte[] 또는 String이 아닙니다. : " + param);
|
||||
}
|
||||
|
||||
try {
|
||||
keyMgr = new KeyFixManager(sConf);
|
||||
decData = keyMgr.decrypt(iniSafeKey, value);
|
||||
inStack.push(decData);
|
||||
} catch (Exception e) {
|
||||
//throw new ExecutionException(e.getMessage(), parameters, e);
|
||||
throw new ParseException(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+14
-19
@@ -1,35 +1,30 @@
|
||||
package com.eactive.eai.transformer.function.crypto;
|
||||
// not completed source jwhong
|
||||
|
||||
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 com.eactive.eai.common.seed.SeedKJ;
|
||||
import com.eactive.eai.common.seed.SeedCipher;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import java.util.Base64;
|
||||
import com.initech.inisafenet.KeyFixManager;
|
||||
|
||||
public class IniSafeNetKJEncrypt extends PostfixMathCommand {
|
||||
public IniSafeNetKJEncrypt() {
|
||||
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');
|
||||
|
||||
Object param = inStack.pop();
|
||||
|
||||
byte[] value = null;
|
||||
|
||||
KeyFixManager keyMgr = null;
|
||||
byte[] encData = null;
|
||||
|
||||
PropManager propManager = PropManager.getInstance();
|
||||
String sConf = propManager.getProperty("IniSafeNet","properties.path");
|
||||
String iniSafeKey = propManager.getProperty("IniSafeNet","key.value");
|
||||
|
||||
if (param instanceof String) {
|
||||
value = ((String) param).getBytes();
|
||||
@@ -49,11 +44,11 @@ public class IniSafeNetKJEncrypt extends PostfixMathCommand {
|
||||
} else {
|
||||
throw new ParseException("Function의 파라미터 인수가 byte[] 또는 String이 아닙니다. : " + param);
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
String encryptedData = SeedKJ.encrypt(new String(value, StandardCharsets.UTF_8), encryptKey);
|
||||
|
||||
inStack.push(encryptedData);
|
||||
keyMgr = new KeyFixManager(sConf);
|
||||
encData = keyMgr.encrypt(iniSafeKey, value);
|
||||
inStack.push(encData);
|
||||
} catch (Exception e) {
|
||||
//throw new ExecutionException(e.getMessage(), parameters, e);
|
||||
throw new ParseException(e.getMessage(), e);
|
||||
|
||||
Reference in New Issue
Block a user