[]AES加密后再解密时出现乱码

[求助]AES加密后再解密时出现乱码
客户端-服务器程序,客户端运行在32位机器上,服务器运行在64位机器上。
客户端对消息先进行BASE64编码得到str1,再用AES加密得到str2,再次BASE64编码得到str3,然后TCP发送到服务端,服务端先BASE64解码,再AES解密,再次用BASE64解码,得到原始消息。
现在的问题是,服务端AES解密本来应该得到的是str2,但是现在解密后str2前面部分是正确的,后面就全是乱码了。
但有一种另外情况,当客户端发送的str3的长度为600时,服务端解密就是正常的,并且只有这个长度才正常,其它长度都会出现乱码。
排查测试了两天了,还是没找到原因,请教各位大神怎么解决啊??
------解决思路----------------------
测试下先用BASE64编码,然后直接用BASE64解码看看逻辑是否正确先。
------解决思路----------------------
不会吧,这么低级的错误,居然用strcpy?
------解决思路----------------------
用strncpy或者memcpy
    要记的,在加解密的时候,经常会出现中间为0的情况