[질문]Flash에서 base64 엔코드 후 , Java에서 디코드시 문자수에 관한 문제..
소예
Flash에서 base64 엔코드 후 , Java에서 디코드시
플래시에서 3자리이하의 변수가 들어올경우 java에서 디코딩이 안됩니다..
3자리 이상이 들어올경우에는 디코딩이 되고요..
상대방측에서는 플래시의 base64와 자바의 base64이 다른것 같다고 하는데요..
혹시 java 잘 하시는분 아시는것 없으세요 ??? -_-;;
무조건 안된다고 다른 암호화로 작업하자는데..도저히 답답해서 이렇게 질문드립니다..
아래는 자바의 디코딩 부분입니다.
final String ORG = score=1000&msg=멀티바이트;
final String MSG =I2FtZV9pZD0wMDAwMDEmc2NvcmU9MTAwMCZtc2c944Oe44Or44OB44OQ44Kk44OZ;
BASE64Encoder b64e = new BASE64Encoder();
BASE64Decoder b64d = new BASE64Decoder();
String msg = MSG;
String s = msg.substring(msg.length() - 1, msg.length());
String m = msg.substring(1, msg.length() - 1);
String e = msg.substring(0,1);
String tmp = s + m + e;
String result = null;
try {
byte[] ans = b64d.decodeBuffer(tmp);
result = URLDecoder.decode(new String(ans, UTF-8)); } catch (Exception e1) {
// TODO 자동생성된 catch블럭
e1.printStackTrace();
}
System.out.println(result);
-
나라찬
자바 base64 코드를 봐야 알것 같은데 .. 아무래도 flash는 base64 가 자바 base64랑 틀릴 수가 있죠..
자바 base64 뜯어보고 다시 역으로 flash 로 만들면 되지 않을까요 ?