Java sha1.ComputeHash(文件流)
如果我使用c#api,如何限制数据大小?更重要的是,我只知道:Java sha1.ComputeHash(文件流),java,c#,sha1,message-digest,Java,C#,Sha1,Message Digest,如果我使用c#api,如何限制数据大小?更重要的是,我只知道: if (total >= BLOCK_SIZE) {//每次最多读入4M break; } 您可以使用TransformBlock和TransformFinalBlock方法限制大小 HashAlgorithm sha1 = HashAlgorithm.Create("sha1"); byte[] result; using (FileStream fs = new FileStream("filename",
if (total >= BLOCK_SIZE) {//每次最多读入4M
break;
}
您可以使用
TransformBlock
和TransformFinalBlock
方法限制大小
HashAlgorithm sha1 = HashAlgorithm.Create("sha1");
byte[] result;
using (FileStream fs = new FileStream("filename", FileMode.Open))
{
result = sha1.ComputeHash(fs);
}
HashAlgorithm sha1 = HashAlgorithm.Create("sha1");
byte[] result;
using (FileStream fs = new FileStream("filename", FileMode.Open))
{
result = sha1.ComputeHash(fs);
}
public static byte[] GetPartialHash(byte[] input, int size)
{
var sha = new SHA1Managed();
int offset = 0;
while (input.Length - offset >= size)
offset += sha.TransformBlock(input, offset, size, input, offset);
sha.TransformFinalBlock(input, offset, input.Length - offset);
return sha.Hash;
}