Exemplo n.º 1
0
        private static byte[] CalculateMd5Hash(Stream stream, string filePath)
        {
            using (var md5 = MD5.Create())
            {
                Program.SyncOutput.MessageCalculatingMD5Hash(filePath);
                ProgressStatus hashStatus = new ProgressStatus(0, stream.Length, new ComputeStats());

                using (ProgressTracker progressTracker = new ProgressTracker(hashStatus,
                                                                             Program.SyncOutput.ProgressOperationStatus,
                                                                             Program.SyncOutput.ProgressOperationComplete))
                    using (var swrp = new StreamWithReadProgress(stream, hashStatus))
                    {
                        Task <byte[]> task = Task <byte[]> .Factory.StartNew(() =>
                        {
                            var bs      = new BufferedStream(swrp);
                            var md5Hash = md5.ComputeHash(bs);
                            return(md5Hash);
                        });

                        while (!task.Wait(TimeSpan.FromSeconds(1)))
                        {
                            progressTracker.Update();
                        }

                        Program.SyncOutput.MessageMD5HashCalculationFinished();
                        return(task.Result);
                    }
            }
        }
Exemplo n.º 2
0
 private static byte[] CalculateMd5Hash(Stream stream, string filePath)
 {
     using (var md5 = MD5.Create())
     {
         using (var swrp = new StreamWithReadProgress(stream, TimeSpan.FromSeconds(1)))
         {
             var bs = new BufferedStream(swrp);
             Program.SyncOutput.MessageCalculatingMD5Hash(filePath);
             var md5Hash = md5.ComputeHash(bs);
             Program.SyncOutput.MessageMD5HashCalculationFinished();
             return(md5Hash);
         }
     }
 }
 private static byte[] CalculateMd5Hash(Stream stream, string filePath)
 {
     using(var md5 = MD5.Create())
     {
         using (var swrp = new StreamWithReadProgress(stream, TimeSpan.FromSeconds(1)))
         {
             var bs = new BufferedStream(swrp);
             Program.SyncOutput.MessageCalculatingMD5Hash(filePath);
             var md5Hash = md5.ComputeHash(bs);
             Program.SyncOutput.MessageMD5HashCalculationFinished();
             return md5Hash;
         }
     }
 }