AES加密问题

chenhong0716 2012-08-20 10:07:38
非常想知道,下面这段AES加密代码,用C#解密中文没有问题,
可是通过JAVA解密出来的却是乱码?怎么办啊?
难道代码哪个地方有问题吗?

thanks,谢谢!

Please help me !

public byte[] Encrypt(byte[] EncryptDatas)
{
byte[] encodedbytes = null;
MemoryStream ms = null;
CryptoStream cs = null;

if (EncryptDatas.Length == 0)
{
return null;
}

//创建AES实例
AesManaged aesmanaged = new AesManaged();
//创建AES加密器
ICryptoTransform encryptor = aesmanaged.CreateEncryptor(key, iv);

try
{
using (ms = new MemoryStream())
{
using (cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
{
cs.Write(EncryptDatas, 0, EncryptDatas.Length);
cs.FlushFinalBlock();

ms.Position = 0;
encodedbytes = new byte[ms.Length];

ms.Read(encodedbytes, 0, encodedbytes.Length);
}
}
}
catch
{
encodedbytes = null;
}
finally
{
//释放对象
if(ms != null)
ms.Close();
if (cs != null)
{
cs.Clear();
cs.Close();
}
}

return encodedbytes;
}
...全文
187 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenhong0716 2012-08-28
  • 打赏
  • 举报
回复
果然是JAVA的问题,还是谢谢你的回复了,分给你了!
beyondma 2012-08-22
  • 打赏
  • 举报
回复
C#转码啊,SYSTEM.ENCOREDING,这个命名空间搜一下,确保和JAVA一致。
chenhong0716 2012-08-22
  • 打赏
  • 举报
回复
我还没有解决编码问题,具体情况我再说详细点吧:

1.服务端是JAVA做的

2.客户端是C#做的

3.客户端有WM,Android,IOS,WINCE,WP7

4.WP7中,通过我以上的代码,做一次查询,如果通过关键字“张三”来查,服务端解析成了乱码(WM,IOS等都可以,不要说改服务器),如果通过张三的电话号码来查询的话,服务端正确解析,WP7可以得到查询的结果

5.总之,我做查询中只要有中文就查询失败

这到底是什么问题?WP7中应该怎么办?
chenhong0716 2012-08-20
  • 打赏
  • 举报
回复
可是JAVA那一端就是用UTF8解密的啊,只要中文就乱码,郁闷。。。
gnimgnot 2012-08-20
  • 打赏
  • 举报
回复
能想到的就是gb2312/unicode/ansi之类的编码问题。

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧