RSACryptoServiceProvider rsaCSP = new RSACryptoServiceProvider();
SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
byte[] inputByteArray = Encoding.ASCII.GetBytes("dajiaohaoawozaizheli");byte[] signByteArray = rsaCSP.SignData(inputByteArray,sha1);
string str = Convert.ToBase64String(signByteArray);byte[] signByteArray2 = Encoding.ASCII.GetBytes(str);为什么signByteArray 与signByteArray2不一样呢?

解决方案 »

  1.   

    RSACryptoServiceProvider和SHA1CryptoServiceProvider是算密锊的类吗?
    signByteArray = rsaCSP.SignData(inputByteArray,sha1);和signByteArray2 = Encoding.ASCII.GetBytes(str);的编码规则一样吗?
      

  2.   

    我的问题其实是这两句话:
    string str = Convert.ToBase64String(signByteArray);
    byte[] signByteArray2 = Encoding.ASCII.GetBytes(str);
    跟上面的没关系,只是要让大家看懂,我就加了其他的辅助语句。
    现在再讨论讨论这个问题。
      

  3.   

    signByteArray与signByteArray2都是byte[]数组,为什么在转换为string之后再转为byte[]就会变化?我就是这点弄不清楚。
      

  4.   

    byte[]数组不一定能转为字符串,除非里面放就是字符串编码