У меня есть следующий код, который читает поток, чтобы сохранить его содержимое в виде строки. К сожалению, после того, как StreamReader больше не используется, значение хэша Stream изменилось. Как это возможно? Поток доступен только для чтения и поэтому не может быть изменен.
string content;
string hash = Cryptography.CalculateSHA1Hash(stream); // 5B006E35CF1838871FDC1E3DF52B0CB5A8A97274
using (StreamReader reader = new StreamReader(stream))
{
content = reader.ReadToEnd();
}
hash = Cryptography.CalculateSHA1Hash(stream); // DA39A3EE5E6B4B0D3255BFEF95601890AFD80709