MemoryStream 封装以无符号字节数组形式存储的数据

解决方案 »

  1.   

    不能用GetBuffer方法,试试ToArray方法。
      

  2.   

    GetBuffer是个问题,但主要问题出在:
    CryptoStream cs2 = new CryptoStream(ms2, rm.CreateEncryptor(b1,b1), CryptoStreamMode.Read);楼主两次都是CreateEncryptor,也就是说加了两次密,结果当然不对了。第二次应该是解密:
    CryptoStream cs2 = new CryptoStream(ms2, rm.CreateDecryptor(b1,b1), CryptoStreamMode.Read);
      

  3.   

    GetBuffer改成ToArray后,问题解决。使用GetBuffer后,字节数变成了256,无形中增长了,也许是这个原因引起的吧。另外,rm.CreateDecryptor写成了rm.CreateEncryptor是笔误,源程序中并没有错。
    谢谢大家,特别是xixigongzhu.