Почему контрольная сумма одного и того же файла отличается при расчете в потоке и Memory_Stream - PullRequest
0 голосов
/ 28 февраля 2019

Если свойство потока CanSeek не установлено в значение true, поток удаляется автоматически сразу после обработки, мне нужно получить к нему доступ дважды.

В моем случае я получаю большой файл в веб-APIот FTP-сервера.

  var request = FillRequest(requestUriString, WebRequestMethods.Ftp.DownloadFile, User, Pass);
        var response = request.GetResponse();

        var responseStream = response.GetResponseStream();


        var memory = new MemoryStream();

        if (responseStream != null)
            using (var stream = responseStream)
            {
               await  stream.CopyToAsync(memory);
            }

        var fileCheckSum = ""; 

        using (var md5 = MD5.Create())
        {
            var hash = md5.ComputeHash(memory);
            fileCheckSum = BitConverter.ToString(hash).Replace("-", string.Empty).ToLowerInvariant();  

        } 

Этот 'fileCheckSum' отличается, пока я использую его в своем клиенте.

Это потому, что я скопировал в memmorystream?

...