public static byte[] ComputeHash(Stream stream) { Crypto.MD5 md5 = new Crypto.MD5(); byte[] buf = new byte[4096]; int len = buf.Length; while (len == buf.Length) { len = stream.Read(buf, 0, buf.Length); if (len > 0) { md5.BlockUpdate(buf, 0, len); } } return(md5.GetHash()); }
public static byte[] ComputeHash(byte[] buf, int offset, int count) { byte[] hash = null; if (StiBaseOptions.FIPSCompliance) { Crypto.MD5 md5 = new Crypto.MD5(); md5.BlockUpdate(buf, offset, count); hash = md5.GetHash(); } else { MD5CryptoServiceProvider hashMD5 = new MD5CryptoServiceProvider(); hash = hashMD5.ComputeHash(buf, offset, count); hashMD5.Clear(); } return(hash); }