1
我应该在对数据进行散列之前对其进行编码,以避免Invalid length for a Base-64 char array
。我应该在散列之前对数据进行编码吗?
#我的.cs:
Stream des = file.InputStream;
byte[] data = new byte[file.ContentLength];
des.Read(data, 0, file.ContentLength);
FileStream f = new FileStream(targetFileName, FileMode.Create, FileAccess.ReadWrite);
f.Write(data, 0, data.Length);
f.Flush();
f.Close();
///////////////////////////////////////////////////////////////////////////////////////////
var sha = new System.Security.Cryptography.SHA512Managed();
string hash2 = Convert.ToBase64String(sha.ComputeHash(data));
如果答案是肯定的如何将字节数组编码。
注:
我使用散列唯一标识的任何改变上传的文件。
@sehe而真的,我认为这不涉及问题的背景,这是关于**创建一个base-64字符串。你不填充输入。 –
我面对类似的问题这里http://stackoverflow.com/questions/4555249/invalid-length-for-a-base-64-char-array-during-decoding-decryption ..而我公平面对同样的问题,如果我有编码我的数据 –
之前,你究竟在哪里得到“一个基地64字符数组无效的长度”错误?我很确定它不在所示的代码中... –