Unsigned char 這個是什么東西,怎把他傳回string?

auto a = "abc";
unsigned char*b;
CCCrypto::MD5(((string*)a), 16, b);
CCLOG("%s",b);

不知輸出了些 什么!!!!!