Как сделать контрольную сумму в Windows? - PullRequest
2 голосов
/ 29 июня 2011

Есть ли способ сделать контрольную сумму на компьютерах с Windows, как на машинах Unix / Linux?

Я не могу загрузить какие-либо инструменты сторонних производителей, и мне интересно, было ли что-то подобное изначально?

Ответы [ 3 ]

1 голос
/ 29 июня 2011

Вы можете получить хеш MD5 файла. По сути, вы должны проанализировать файл и передать его в эту функцию в виде строки. например,

 public string GetMD5Hash(string input)
    {
        System.Security.Cryptography.MD5CryptoServiceProvider x = new System.Security.Cryptography.MD5CryptoServiceProvider();
        byte[] bs = System.Text.Encoding.UTF8.GetBytes(input);
        bs = x.ComputeHash(bs);
        System.Text.StringBuilder s = new System.Text.StringBuilder();
        foreach (byte b in bs)
        {
            s.Append(b.ToString("x2").ToLower());
        }
        string password = s.ToString();
        return password;
    }

(взято из здесь )

... или в виде файла:

protected string GetMD5HashFromFile(string fileName)
{
  FileStream file = new FileStream(fileName, FileMode.Open);
  MD5 md5 = new MD5CryptoServiceProvider();
  byte[] retVal = md5.ComputeHash(file);
  file.Close();

  StringBuilder sb = new StringBuilder();
  for (int i = 0; i < retVal.Length; i++)
  {
    sb.Append(retVal[i].ToString("x2"));
  }
  return sb.ToString();
}

Взято из здесь Рассчитать контрольную сумму MD5 для файла

0 голосов
/ 22 мая 2018

Вот вкладка powershell 1, который вернет 'true', если контрольная сумма файла совпадает. Просто замените $ filePath, $ hash и тип шифрования соответствующим образом.

certUtil -hashfile $filePath SHA256 | Select-String -Pattern '^.{2}\s' | % {($_ -Replace ' ', '')  -eq "$hash"}
0 голосов
/ 26 января 2016

В современных версиях Windows вы можете запустить командную строку (так же, как вы упомянули «Как машины Unix и т. Д.»).

Инструмент называется FCIV , и вы можете скачать его с Microsoft здесь. https://www.microsoft.com/en-us/download/details.aspx?id=11533

Запустить его довольно просто ...

FCIV -md5 -sha1 C:\path\to\my\file

MD5                              SHA1
------------------------------------------------------------------------------------------
8a3d1ae852c3d2f255ea9a732a539721 9747e6afa6d6fcb94fe3bf86ead91683c26d1aca c:\path\to\my\file

Я уверен, что в powershell вы можете анализировать этот ответ как объект PSO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...