首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Windows Mobile >

AES加密有关问题

2012-09-21 
AES加密问题非常想知道,下面这段AES加密代码,用C#解密中文没有问题,可是通过JAVA解密出来的却是乱码?怎么

AES加密问题
非常想知道,下面这段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;
  }

[解决办法]
能想到的就是gb2312/unicode/ansi之类的编码问题。
[解决办法]
C#转码啊,SYSTEM.ENCOREDING,这个命名空间搜一下,确保和JAVA一致。

热点排行