안드로이드에서 aes로 암호화한 메시지를 c++서버가 받아서 복호화하도록 하고싶습니다.
자바쪽은 아래처럼 했는데 c++은 어떻게 해야될지 모르겠네요.

http://social.msdn.microsoft.com/Forums/ko-KR/bd1722e7-07b3-4119-b7de-10788f9f6e36/aes-string-encryption-in-c?forum=windowsmobiledev
여길보고 해보긴 했는데 암호화 복호화는 제대로 됩니다만 암호화했을 때 특수문자, 네모, 한자들이 막 나옵니다. abcd를 암호화해도 자바랑 같은 값이 안나옵니다. 자바에서 byte형식으로 암호화한 [B@612679d6을 통신으로 보내줬을 때 복호화하면 abcd1234가 나오도록 해야되는데 말이죠. (저기 byteArrayToHex메소드를 써도...) 키 사이즈나 문자형식이 문제가 있는 것 같은데 해보신분께 도움을 구합니다. 자바랑 어떻게 맞춰줘야하는지...
아래는 c++ 소스입니다.
extern "C"{
#include "libcrypt\aes.h"
}
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <Windows.h>
using namespace std;
void main(){
aes_context ctx;
WCHAR *in=L"abcd1234";
WCHAR *out;
WCHAR *secret_key=L"abcdefgh12345678";
BYTE * buf=(BYTE*)malloc(16);
BYTE * keybuff=(BYTE*)malloc(16);
memset(buf,0, 16);
memset(keybuff,0,16);
memcpy( buf, in, wcslen(in)*2);
/* Set the key */
memcpy( keybuff, secret_key, wcslen(secret_key)*2);
aes_set_key( &ctx, keybuff, 128);
/* Encrypt */
aes_encrypt( &ctx, buf, buf );
out=(WCHAR*)buf;
MessageBox(NULL, (WCHAR*)out, NULL, 0);
aes_decrypt( &ctx, buf, buf );
out=(WCHAR*)buf;
MessageBox(NULL, (WCHAR*)out, NULL, 0);
system("pause");
}