Как найти файл по контрольной сумме

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
Unit Crc32;
INTERFACE
Function  GetCRC(Const Name: string): LongWord;
Function  CalcCRC(Const s: String): LongWord;
Function  CRCstring2Num(Const f: string): LongWord;
 
IMPLEMENTATION
 
Uses Crt;
 
CONST crc_32_tab: ARRAY[0..255] OF cardinal = (
$00000000, $77073096, $ee0e612c, $990951ba, $076dc419, $706af48f, $e963a535,$9e6495a3,
$0edb8832, $79dcb8a4, $e0d5e91e, $97d2d988, $09b64c2b, $7eb17cbd, $e7b82d07,$90bf1d91,
$1db71064, $6ab020f2, $f3b97148, $84be41de, $1adad47d, $6ddde4eb, $f4d4b551,$83d385c7,
$136c9856, $646ba8c0, $fd62f97a, $8a65c9ec, $14015c4f, $63066cd9, $fa0f3d63,$8d080df5,
$3b6e20c8, $4c69105e, $d56041e4, $a2677172, $3c03e4d1, $4b04d447, $d20d85fd,$a50ab56b,
$35b5a8fa, $42b2986c, $dbbbc9d6, $acbcf940, $32d86ce3, $45df5c75, $dcd60dcf,$abd13d59,
$26d930ac, $51de003a, $c8d75180, $bfd06116, $21b4f4b5, $56b3c423, $cfba9599,$b8bda50f,
$2802b89e, $5f058808, $c60cd9b2, $b10be924, $2f6f7c87, $58684c11, $c1611dab,$b6662d3d,
$76dc4190, $01db7106, $98d220bc, $efd5102a, $71b18589, $06b6b51f, $9fbfe4a5,$e8b8d433,
$7807c9a2, $0f00f934, $9609a88e, $e10e9818, $7f6a0dbb, $086d3d2d, $91646c97,$e6635c01,
$6b6b51f4, $1c6c6162, $856530d8, $f262004e, $6c0695ed, $1b01a57b, $8208f4c1,$f50fc457,
$65b0d9c6, $12b7e950, $8bbeb8ea, $fcb9887c, $62dd1ddf, $15da2d49, $8cd37cf3,$fbd44c65,
$4db26158, $3ab551ce, $a3bc0074, $d4bb30e2, $4adfa541, $3dd895d7, $a4d1c46d,$d3d6f4fb,
$4369e96a, $346ed9fc, $ad678846, $da60b8d0, $44042d73, $33031de5, $aa0a4c5f,$dd0d7cc9,
$5005713c, $270241aa, $be0b1010, $c90c2086, $5768b525, $206f85b3, $b966d409,$ce61e49f,
$5edef90e, $29d9c998, $b0d09822, $c7d7a8b4, $59b33d17, $2eb40d81, $b7bd5c3b,$c0ba6cad,
$edb88320, $9abfb3b6, $03b6e20c, $74b1d29a, $ead54739, $9dd277af, $04db2615,$73dc1683,
$e3630b12, $94643b84, $0d6d6a3e, $7a6a5aa8, $e40ecf0b, $9309ff9d, $0a00ae27,$7d079eb1,
$f00f9344, $8708a3d2, $1e01f268, $6906c2fe, $f762575d, $806567cb, $196c3671,$6e6b06e7,
$fed41b76, $89d32be0, $10da7a5a, $67dd4acc, $f9b9df6f, $8ebeeff9, $17b7be43,$60b08ed5,
$d6d6a3e8, $a1d1937e, $38d8c2c4, $4fdff252, $d1bb67f1, $a6bc5767, $3fb506dd,$48b2364b,
$d80d2bda, $af0a1b4c, $36034af6, $41047a60, $df60efc3, $a867df55, $316e8eef,$4669be79,
$cb61b38c, $bc66831a, $256fd2a0, $5268e236, $cc0c7795, $bb0b4703, $220216b9,$5505262f,
$c5ba3bbe, $b2bd0b28, $2bb45a92, $5cb36a04, $c2d7ffa7, $b5d0cf31, $2cd99e8b,$5bdeae1d,
$9b64c2b0, $ec63f226, $756aa39c, $026d930a, $9c0906a9, $eb0e363f, $72076785,$05005713,
$95bf4a82, $e2b87a14, $7bb12bae, $0cb61b38, $92d28e9b, $e5d5be0d, $7cdcefb7,$0bdbdf21,
$86d3d2d4, $f1d4e242, $68ddb3f8, $1fda836e, $81be16cd, $f6b9265b, $6fb077e1,$18b74777,
$88085ae6, $ff0f6a70, $66063bca, $11010b5c, $8f659eff, $f862ae69, $616bffd3,$166ccf45,
$a00ae278, $d70dd2ee, $4e048354, $3903b3c2, $a7672661, $d06016f7, $4969474d,$3e6e77db,
$aed16a4a, $d9d65adc, $40df0b66, $37d83bf0, $a9bcae53, $debb9ec5, $47b2cf7f,$30b5ffe9,
$bdbdf21c, $cabac28a, $53b39330, $24b4a3a6, $bad03605, $cdd70693, $54de5729,$23d967bf,
$b3667a2e, $c4614ab8, $5d681b02, $2a6f2b94, $b40bbe37, $c30c8ea1, $5a05df1b,$2d02ef8d);
 
Function GetCRC(Const Name: string): longword;
 
  (* This function returns the 32 bit CRC of a filename. It will return *)
  (* a -1 if the file could not be found or opened.                     *)
 
  Const Size = 4096;
  Type  Buffer = Array[1..Size] of Byte;
 
  var f  : file;
      crc: longword;
      Buf: ^Buffer;
      {$IFDEF OS2}
      nr : longint;
      {$ELSE}
      nr : word;
      {$ENDIF}
      Cnt: word;
      IO : word;
 
  begin
    crc := $FFFFFFFF;
    New(Buf);
 
    assign(f,Name);
    {$I-} reset(f,1); {$I+}
    IO := IOresult;
    If IO = 162 then
    begin
      cnt := 0;
      While (Cnt < 10) and (IO = 162) do
      begin
        inc(Cnt);
        Delay(10);
        {$I-} Reset(f,1); {$I+}
        IO := IOresult;
      end;
    end;
    If IO = 0 then
    begin
      Blockread(f,Buf^,Size,Nr);
      while (nr > 0) do
      begin
        For cnt := 1 to nr do
          Crc := crc_32_tab[byte(crc xor longint(Buf^[Cnt]))] xor ((crc shr 8) and $00FFFFFF);
        Blockread(f,Buf^,Size,Nr);
      end;
      close(f);
      Crc := not Crc;
    end;
    GetCRC := Crc;
    Dispose(Buf);
  end;
 
Function CalcCRC(Const s: string): LongWord;
 
  (* This function will return the 32 bit CRC of a string *)
 
  var crc: cardinal;
      Cnt: word;
 
  begin
    crc := $FFFFFFFF;
 
    For cnt := 1 to Length(s) do
      Crc := crc_32_tab[byte(crc xor longint(s[Cnt]))] xor ((crc shr 8) and $00FFFFFF);
 
    CalcCRC := -(Crc+1);
  end;
 
Function CRCstring2Num(Const f: string): LongWord;
 
  (* This function will convert a hexidecimal representation of a 32 bit *)
  (* CRC to a numerical value                                            *)
 
  var CRC: Longint;
      Cnt: Longint;
      Weight: Longint;
 
  begin
    CRC := 0;
 
    For cnt := 8 downto 1 do
    begin
      Weight := 1 shl ((8-cnt)*4);
      If f[cnt] > #57 then
        CRC := CRC + Weight*(Ord(f[cnt])-55) else
        CRC := CRC + Weight*(Ord(f[cnt])-48);
    end;
    CRCstring2Num := Crc;
  end;
end.

Is there a way I can have a hash value as input when searching for files and a complete list of files and their locations as output?

This could be helpful when trying to pin point file duplicates. I often times find myself in situations where I have a bunch of files that I know I already have stored in some location but I don’t know where. They are essentially duplicates.

For instance, I could have a bunch of files on a portable hard drive, and also hard copies of those files on the internal hard drive of a desktop computer… but I’m not sure of the location! Now if the files are not renamed, I could do a file name search to try to locate the hard copy on the desktop. I could then compare them side by side and in case they are the same I could delete the copy I have on the portable hard drive. But if the files have been renamed on either one of the hard drives this would probably not work (depending on how much the new names differ from the original).

If a file is renamed, but not edited, I could calculate its hash value, e.g. SHA1 value is 74e7432df4a66f246b5214d60b190b67e2f6ce52. I would then like to have this value as input when searching for files and have the operating system search through a given directory or the entire file system for files with this exact SHA1 hash value and output a complete list of locations where these files are stored.

I’m using Windows, but I am generally interested in knowing how something like this could be achieved, regardless of operating system.

asked Dec 24, 2013 at 12:52

Samir's user avatar

4

Linux example:

hash='74e7432df4a66f246b5214d60b190b67e2f6ce52'
find . -type f -exec sh -c '
   sha1sum "$2" | cut -f 1 -d " " | sed "s|^\\||" | grep -Eqi "$1"
' find-sh "$hash" {} ; -print

This code is more complex than you would think it should be because:

  • it is intended to correctly handle filenames with spaces, newlines, backslashes, quotations, special characters etc. (change -print to -print0 to parse them further);
  • it is intended to accept hash(es) as regex (compatible with grep -E i.e. egrep),
    e.g. '^00|00$' will match if the file hash starts or ends with 00; a more practical example is searching by many hashes at once: '74…|a9…|…|…|…' (ellipses for brevity, use full hashes).

You can use other *sum tools with compatible interface (e.g. md5sum).

answered Jul 7, 2017 at 11:19

Kamil Maciorowski's user avatar

Kamil MaciorowskiKamil Maciorowski

67.7k22 gold badges130 silver badges191 bronze badges

4

This is an intriguing question. I have been using a tool called fdupes to accomplish something similar. Fdupes will recursively search through directories and compare every file with every other file. First it compares size, and if the sizes are identical then it creates hashes of the files and compares that, if the hashes are the same then in actually goes through each file byte by byte and compares it.

When if finds all the files that are truly identical you can have it do several things. I have it delete the duplicate and create a hardlink in it’s place (thus saving me HDD space), although you can have it simply output the locations of the duplicate files and not do anything with them. This is the scenario you are asking about.

Some downsides with fdupes are that as far as I know it’s Linux only, and since it compares every file to every other file it takes quite a bit of I/O and time to run. It does not «search» for a file per say, but it would list all the files that have an identical hash.

I would highly recommend it and I set it to run in a cron job every day so that I never have any unnecessary duplicates of my data (it excludes my backups of course).

Fdupes Source Page

answered Dec 24, 2013 at 20:38

tbenz9's user avatar

tbenz9tbenz9

6,9173 gold badges28 silver badges32 bronze badges

If you have PowerShell v.4.0 or higher, you can use the command:

Get-ChildItem _search_location_ -Recurse | Get-FileHash | 
Where-Object hash -eq (Get-FileHash _search_file_).hash | Select path

Where _search_location_ is folder or disk where you want to search for a duplicate and _search_file_ is a file that has a duplicate somewhere. You can put this command in a loop to search for several files or add | Remove-Item at the end of the line to automatically delete duplicates.

Also note that this command is suitable for small search folders only — it will take a lot of time if your search location has thousands of files (like a whole HDD).

Seth's user avatar

Seth

8,9701 gold badge18 silver badges34 bronze badges

answered Dec 20, 2016 at 15:31

Alex K's user avatar

I like to use simple tools that I happen to already have so here is a way to do that with Windows PowerShell (so it obviously only works on windows). It is actually a small edit to Alex K’s answer however the question was how to search using hashes, whereas his answer searched for a copy of a specific file.

Get-ChildItem "_search_location_" -Recurse | Get-FileHash | Where-Object hash -eq _hash_here_ | Select path

Simply replace _search_location_ with what directory you wish to search and replace _hash_here_ with the hash of the file you wish to find.

Seth's user avatar

Seth

8,9701 gold badge18 silver badges34 bronze badges

answered Jul 7, 2017 at 7:22

user746340's user avatar

1

There’s a tool ($) called FileLocator Pro that can search by file hash (SHA-x or MD5).

Excerpt from this page:
http://www.mythicsoft.com/filelocatorpro/help/en/advanced_criteria.htm

Note: If the expression type is set to ‘File Hash’ then the containing
text box can include a comma separated list of hash values or a
pointer to a file containing a list of hash values, e.g.

5A9C9B42A16F5E1985B7B0A019114C7A,675C9B42A16F5E1985B7B0A019114C7A

or,

=c:FileHashTable.txt

The actual algorithms used to calculate the hash, e.g. SHA1, MD5, are
specified in the Options tab.

answered Dec 30, 2013 at 13:42

snowdude's user avatar

snowdudesnowdude

2,86017 silver badges20 bronze badges

Here’s an example for an MD5 algorithm:

Get-ChildItem "_search_location_" -Recurse | Get-FileHash -Algorithm MD5 | Where-Object hash -eq _hash_here_ | Select path

Replace _search_location_ with what directory you wish to search and replace _hash_here_ with the hash of the file you wish to find.

If you want to search for a hash besides the sha256 hash you add -Algorithm _algorithm_ after Get-FileHash where _algorithm_ is the chosen algorithm.

Beware that this requires PowerShell 4.0 and will recalculate every hash for every file for every search!

Seth's user avatar

Seth

8,9701 gold badge18 silver badges34 bronze badges

answered Jul 7, 2017 at 7:39

user746347's user avatar

Voidtools Everything 1.5 search tool has an option to add a column of various hashes, such as CRC-32, CRC-64, MD5, SHA-1, SHA-256 for each file.

enter image description here

You can then search for a particular hash as well, for example md5:71E..
enter image description here

answered Apr 22 at 19:53

Rudolph's user avatar

RudolphRudolph

2121 gold badge5 silver badges20 bronze badges

При скачивании ISO образов и архивов больших размеров всегда есть вероятность получить «битый» файл. Во времена Dial-UP такое было сплошь и рядом. И хотя сейчас такое случается намного реже, чтобы убедиться, что перед вами «оригинальный» файл придумали контрольные суммы, которые вычисляются на основе содержимого и позволяют заметить несоответствие даже одного байта.

То есть, если вы измените один байт в проверяемом файле, то и контрольная сумма такого файла так же изменится.

Для чего нужны контрольные суммы

У контрольных сумм две задачи:

  1. Убедиться, что файл скачался корректно.
  2. Убедиться, что файл не был изменен злоумышленниками.

Зная контрольную сумму оригинала, можно проверить является ли ваша копия подлинной.

Как вычислить контрольную сумму он-лайн

Контрольную сумму можно проверить он-лайн. Но я не буду рекомендовать этот способ, так как если размер вашего файла несколько ГигаБайт, то это займет много времени и всегда есть вероятность ошибки при передаче файла. Кроме того делиться своими файлами со сторонними сервисами не правильно.

Как узнать контрольную сумму файла в Windows

Разумнее вычислить контрольную сумму локально на своем компьютере. Это быстро и конфиденциально. В этой статье я опишу несколько способов получения контрольных сумм, как с помощью сторонних программ, так и непосредственно с помощью самой операционной системы Виндовс.

Файловый менеджер Total Commander

Total Commander — это популярный файловый менеджер, работающий на платформах Microsoft Windows и Android. В нем есть встроенная функция вычисления контрольных сумм.

Как узнать контрольную сумму файла в Windows

После чего вы можете выбрать один из алгоритмом вычисления контрольных сумм.

Как узнать контрольную сумму файла в Windows

По-умолчанию Total Commander создает файл с именем проверяемого и с расширением по имени выбранного алгоритма расчета контрольной суммы.

Файловый архиватор 7-Zip

7-Zip — свободный, бесплатный файловый архиватор с высокой степенью сжатия данных. Он поддерживает несколько алгоритмов сжатия и множество форматов данных, включая собственный формат 7z c высокоэффективным алгоритмом сжатия LZMA.

Этот архиватор имеет встроенную функцию вычисления контрольных сумм. Запустить ее можно прямо из контекстного меню Windows:

Как узнать контрольную сумму файла в Windows

Если выбрать «звездочку», то программа подсчитает сразу несколько контрольных сумм:

Как узнать контрольную сумму файла в Windows

Полученные данные можно выделить и скопировать в текстовый документ.

Как подсчитать контрольную сумму файла из консоли Windows

Чтобы посчитать контрольную сумму совсем не обязательно устанавливать специальные программы. И если вы не пользуетесь упомянутыми выше, то можете рассчитать контрольную сумму прямо из командной строки операционной системы.

Например, чтобы посчитать контрольную сумму SHA1 с помощью утилиты CertUtil нужно запустить командную строку Windows 10, 8 или Windows 7 и ввести следующую команду:

certutil -hashfile путь_к_файлу алгоритм

Вот пример ее работы через несколько минут:

Как узнать контрольную сумму файла в Windows

Считаем контрольную сумму в PowerShell

PowerShell — это средство автоматизации от Microsoft, с интерфейсом командной строки и языка сценариев, работает и включена в состав Windows 8 и новее.

Чтобы вычислить контрольную сумму файла необходимо выполнить команду Get-FileHash указав через пробел имя файла и алгоритм вычисления контрольной суммы:

 Get-FileHash "Disk:Full Path to fileFile Name.Extension" -Algorithm SHA1

Обратите внимание, что полный путь и имя файла лучше заключить в двойные кавычки.

Как узнать контрольную сумму файла в Windows

По-умолчанию, если не указать тип контрольной суммы, то будет посчитана SHA-256.

Для алгоритмов вычисления контрольной суммы в Windows PowerShell поддерживаются следующие значения:

  • SHA1
  • SHA256 (по умолчанию)
  • SHA384
  • SHA512
  • MD5

Для оформления вывода в виде списка можно использовать параметр | Format-List. Например:

 Get-FileHash "Disk:Full Path to fileFile Name.Extension" | Format-List

Тогда результат работы будет выглядеть так:

Как узнать контрольную сумму файла в Windows

Подробнее об использовании команды Get-FileHash можно прочитать на официальном сайте Microsoft — https://docs.microsoft.com/ru-ru/powershell/module/microsoft.powershell.utility/get-filehash

Какой алгоритм вычисления контрольных сумм самый правильный

MD5, SHA-1, SHA-256 и прочие – это разные алгоритмы хеш-функции. Хэши являются результатом работы криптографических алгоритмов, и представляют собой строку символов. Часто эти строки имеют фиксированную длину, независимо от размера входных данных.

MD5 самый быстрый, считается устаревшим, а SHA-256 имеет наименьшую вероятность коллизии, когда два разных файла имеют одинаковую контрольную сумму.

Для проверки целостности файла вам следует использовать тот, который предоставляет издатель. Если у вас на выбор есть несколько контрольных сумм, то лучше выбрать в следующей последовательности MD5, SHA-1, SHA-256, последний вариант является более предпочтительным.

Выводы

Если вы сомневаетесь в целостности скаченных файлов из интернета, особенно когда это касается оригинальных образов операционных систем, то проверьте их контрольную сумму. Сделать это можно как с помощью уже имеющихся у вас программ, так и воспользовавшись встроенными средствами операционной системы Windows.

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

Для этого нам придется использовать инструмент, который не позволяет именно этого, поиск файлов путем хеширования в Windows. Умный поиск файлов et программное обеспечение, хотя и бесплатное, но представляет собой поисковую систему, которая предлагает возможность простого поиска файлов с помощью хеширования в Windows.

Это приложение использует несколько критериев для поиска файлов по хешу, одним из которых является то, что оно позволяет искать файлы по хеш-значению. Он совместим с MD5, SHA1, SHA256, SHA512 или TIGER192 , среди прочего, и для этого вам просто нужно указать значение хеш-функции в поле поиска и путь для начала.

Smart File Finder покажет нам файл, который соответствует критериям, установленным в поиске, и покажет нам имя файла и путь, по которому он находится. Кроме того, можно указать приложению исключить определенные файлы или папки из результатов поиска, использовать известные подстановочные знаки или оставить скрытые файлы и каталоги.

Другой вариант — использовать сценарий PowerShell. который можно найти на Github и который откроет окно с формой для поиска файлов путем хеширования в Windows. В этой форме мы должны указать Хеш MD5 и маска, в которой мы хотим искать . Результат даст нам имя файла, которое соответствует заданному хешу и пути.

Чтобы использовать этот метод, первое, что нужно сделать, это открыть PowerShell, зайдите в Github и скопируйте код скрипта , затем скопируйте его в интерфейс Power Shell. Теперь, чтобы запустить скрипт, просто нажмите кнопку воспроизведения, и появится окно, в котором мы можем указать хеш MD5 и путь, по которому мы хотим искать. Нажмите «Поиск», и процесс поиска начнется автоматически. Когда это будет сделано, мы сможем увидеть имя и путь к искомому файлу, который соответствует заданному хешу.

Содержание

  1. Как проверить контрольную сумму файла в windows 10
  2. Подсчет контрольной суммы файлов в windows.
  3. Контрольная сумма файлов в Linux.
  4. Для тех кто не любит терминал.
  5. Контрольная сумма файла: что это такое и как проверить
  6. Что такое контрольная сумма
  7. Проверка контрольных сумм онлайн
  8. Проверка контрольной суммы файла
  9. Как узнать контрольную сумму файла в Windows
  10. Для чего нужны контрольные суммы
  11. Как вычислить контрольную сумму он-лайн
  12. Как узнать контрольную сумму файла в Windows
  13. Файловый менеджер Total Commander
  14. Файловый архиватор 7-Zip
  15. Как подсчитать контрольную сумму файла из консоли Windows
  16. Считаем контрольную сумму в PowerShell
  17. Какой алгоритм вычисления контрольных сумм самый правильный
  18. Выводы
  19. Контрольные суммы файла
  20. Проверка контрольных сумм файлов в Windows
  21. Проверка хеша файла в командной строке Windows
  22. Проверка хеша в программе MD5 File Checker
  23. Расчет контрольных сумм в программе HashTab
  24. Проверка хешей в Linux
  25. Для чего проверяются хэш-суммы файлов и как это сделать?
  26. Что такое целостность файла?
  27. Зачем проверять целостность файла?
  28. Как можно проверить целостность файла?
  29. Что такое хэш суммы md5?
  30. Как проверить хэш-сумму MD5 с помощью программы Solid Explorer?
  31. Есть ли другие подобные решения
  32. Советы и выводы

Как проверить контрольную сумму файла в windows 10

Контрольная сумма файла используется для проверки оригинальности и целостности файла.

Например с помощью контрольных сумм мы проверяли оригинальность скаченных образов в этих статьях:

О контрольной сумме файла из википедии:

Контро́льная су́мма — некоторое значение, рассчитанное по набору данных путём применения определённого алгоритма и используемое для проверки целостности данных при их передаче или хранении. Также контрольные суммы могут использоваться для быстрого сравнения двух наборов данных на неэквивалентность: с большой вероятностью различные наборы данных будут иметь неравные контрольные суммы. Это может быть использовано, например, для обнаружения компьютерных вирусов. Несмотря на своё название, контрольная сумма не обязательно вычисляется путём суммирования.

С точки зрения математики контрольная сумма является результатом хеш-функции, используемой для вычисления контрольного кода — небольшого количества бит внутри большого блока данных, например, сетевого пакета или блока компьютерногофайла, применяемого для обнаружения ошибок при передаче или хранении информации. Значение контрольной суммы добавляется в конец блока данных непосредственно перед началом передачи или записи данных на какой-либо носитель информации. Впоследствии оно проверяется для подтверждения целостности данных.

Популярность использования контрольных сумм для проверки целостности данных обусловлена тем, что подобная проверка просто реализуема в двоичном цифровом оборудовании, легко анализируется и хорошо подходит для обнаружения общих ошибок, вызванных наличием шума в каналах передачи данных.

Криптографическая функция MD5 уже почти не используется для определения контрольных сумм, так как оказалось, что для неё можно быстро создавать с помощью современных компьютеров два разных файла, имеющих разную длину в байтах, но одинаковые величины контрольных сумм, подсчитанных с помощью алгоритма MD5.

Использование термина сумма связано с тем, что на заре цифровой связи при байтовых передачах информационными были 7 бит, а восьмой — контрольный — рассчитывался как младший разряд сложения информационных.

Подсчет контрольной суммы файлов в windows.

Для операционных систем windows существует множество программ которые подсчитывают контрольную сумму.

Самой распространенной программой считается программа HashTab.

Скачать и использовать ее в не коммерческих целях можно совершенно бесплатно с официального сайта программы.

Если у вас Windows 10 — то этот функционал уже встроен в файловый менеджер.

Кликаем по файлу правой кнопкой мыши, далее пункт CRC SHA и выбираем как посчитать контрольную сумму или выбираем пункт » * » который посчитает все возможные контрольные суммы из предоставленного списка.

hash

Контрольная сумма файлов в Linux.

Подсчет контрольных сумм в linux осуществляется при помощи терминала.

Для подсчета MD5 суммы файла или строки, в Linux можно воспользоваться программой:

Для проверки контрольной суммы sha1:

Для проверки контрольной суммы sha256:

Для проверки контрольной суммы sha384:

Для проверки контрольной суммы sha512:

Для проверки контрольной суммы CRC:

Все эти программы входят в пакет coreutils — который должен быть предварительно установлен, например с помощью менеджера пакетов Sinaptic.

Для тех кто не любит терминал.

Можно установить расширение gtkhash для файлового менеджера и с помощью него производить все манипуляции.

Расширение есть для файловых менеджеров nautilus, nemo и thunar. Устанавливается через файловый менеджер Sinaptic.

После установки при выборе свойств файла появится вкладка в которой можно сравнить контрольную сумму или узнать ее.

hesh

Как то так. В комментариях добавляйте кто знает о других способах или использует другие методы.

Источник

Контрольная сумма файла: что это такое и как проверить

Скачивая файлы, программы или образы дисков вы наверняка замечали, что вместе с данными файлами часто распространяют и какие-то зашифрованные строки, которые называются контрольными или хеш суммами. В данной статье мы расскажем о том, что такое контрольная сумма, для чего ее используют и как проверить контрольную сумму для строк или файлов.

Что такое контрольная сумма

Контрольная сумма или хеш-сумма – это значение, которое было рассчитано по некоторому алгоритму на основе имеющихся файлов или данных. Особенностью контрольной суммы является то, что ее алгоритм, при одинаковых входных данных всегда выдает одинаковое значение. При этом малейшее изменение входных данных кардинально меняет значение контрольной суммы.

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

Также нужно упомянуть, что контрольную сумму нельзя использовать для получения исходных данных. То есть нельзя «расшифровать» хеш-сумму и получить данные которые были хешированы, хеш-сумму можно только сравнить с другой хеш-суммой. Это особенность открывает дополнительные возможности. Например, хеш-суммы используются для хранения паролей. Когда вы регистрируетесь на каком-то сайте и вводите свой пароль, то он не хранится на сервере в открытом виде. Вместо этого хранится только его контрольная сумма. А когда вы входите в свой аккаунт с использованием пароля, система получается ваш пароль, высчитывает его хеш-сумму и сравнивает с хеш-суммой, которая хранится на сервере. Если хеш-суммы совпали, значит пароль верный и вы можете войти в аккаунт, если хеш-суммы не совпадают, значит пароль не верный и вас перенаправляют на страницу для восстановления пароля.

Для высчитывания контрольной суммы существует множество различных алгоритмов или так называемых хеш-функций. Самыми известными и популярными алгоритмы являются: CRC32, MD5, SHA-1 и SHA-2. Но, есть и множество других алгоритмов, некоторые из которых имеют широкое применения, а некоторые используются только для специфических задач. При этом часть существующих алгоритмов признаны устаревшими или уязвимыми и больше не используются. Так, алгоритм MD5 практически полностью перестал использоваться поскольку выяснилось, что он может выдавать одинаковые значения для разных входных значений.

Для примера продемонстрируем, как выглядит контрольная сумма на практике. Например, возьмем строку «Hello, world!» и высчитаем ее контрольную сумму с использованием нескольких популярных алгоритмов.

Как видно, каждый алгоритм выдает значение, которое не имеет совершенно ничего общего с исходными данными. И сколько раз мы бы не высчитывали контрольную сумму строки «Hello, world!», мы каждый раз будем получать одни и те же значения.

Проверка контрольных сумм онлайн

Если нужно проверить контрольную сумму какой-то строки (например, пароля), то проще всего воспользоваться онлайн сервисами. Найти такие онлайн сервисы можно в любом поисковике по запросу «hash online».

Для примера рассмотрим сайт http://www.sha1-online.com. На этом сайте есть строка, в которую нужно ввести исходные данные, и выпадающий список, где нужно выбрать какой алгоритм вы хотите использовать для получения хеш-суммы.

102517 0910 1

Чтобы проверить приведенную выше таблицу введем строку «Hello, world!», выберем алгоритм MD5 и нажмем на кнопку «hash».

102517 0910 2

В результате на экране появится строка со значением хеш-функции MD5.

102517 0910 3

Не сложно заметить, что полученное значение полностью совпадает с тем, которое указано в таблице выше, хотя данные из таблицы были получены другим способом.

Проверка контрольной суммы файла

Если вам нужно проверить контрольную сумму файла (например, образа диска или программы), то вам понадобится специальная программа, которая умеет высчитывать контрольные суммы. Самой популярной программой такого рода является HashTab.

После установки данной программы в свойствах файла появится новая вкладка «Хеш-суммы файлов», в которой будет отображаться хеш-сумма выбранного вами файла.

102517 0910 4

При этом пользователь можно изменить набор алгоритмов, которые программа HashTab использует для расчета хеш-суммы. Для этого нужно нажать на ссылку «Настройки», выбрать нужные алгоритмы и сохранить изменения с помощью кнопки «ОК».

102517 0910 5

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

102517 0910 6

Также HashTab позволяет сравнивать файлы. Для этого нужно нажать на кнопку «Сравнить файл» и выбрать другой файл.

102517 0910 7

Программа HashTab является бесплатной для личного пользования, некоммерческих организаций и студентов. Скачать программу можно на официальном сайте http://implbits.com/products/hashtab/.

Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.

gravatar

Спасибо за статью. Все очень понятно изложено.

gravatar

Зачем нужна контрольная сумма, если она по размерам больше чем то, что передают?

Источник

Как узнать контрольную сумму файла в Windows

При скачивании ISO образов и архивов больших размеров всегда есть вероятность получить «битый» файл. Во времена Dial-UP такое было сплошь и рядом. И хотя сейчас такое случается намного реже, чтобы убедиться, что перед вами «оригинальный» файл придумали контрольные суммы, которые вычисляются на основе содержимого и позволяют заметить несоответствие даже одного байта.

То есть, если вы измените один байт в проверяемом файле, то и контрольная сумма такого файла так же изменится.

Для чего нужны контрольные суммы

У контрольных сумм две задачи:

Зная контрольную сумму оригинала, можно проверить является ли ваша копия подлинной.

Как вычислить контрольную сумму он-лайн

Контрольную сумму можно проверить он-лайн. Но я не буду рекомендовать этот способ, так как если размер вашего файла несколько ГигаБайт, то это займет много времени и всегда есть вероятность ошибки при передаче файла. Кроме того делиться своими файлами со сторонними сервисами не правильно.

Как узнать контрольную сумму файла в Windows

Разумнее вычислить контрольную сумму локально на своем компьютере. Это быстро и конфиденциально. В этой статье я опишу несколько способов получения контрольных сумм, как с помощью сторонних программ, так и непосредственно с помощью самой операционной системы Виндовс.

Файловый менеджер Total Commander

Total Commander — это популярный файловый менеджер, работающий на платформах Microsoft Windows и Android. В нем есть встроенная функция вычисления контрольных сумм.

checksum 0

После чего вы можете выбрать один из алгоритмом вычисления контрольных сумм.

checksum 1

По-умолчанию Total Commander создает файл с именем проверяемого и с расширением по имени выбранного алгоритма расчета контрольной суммы.

Файловый архиватор 7-Zip

7-Zip — свободный, бесплатный файловый архиватор с высокой степенью сжатия данных. Он поддерживает несколько алгоритмов сжатия и множество форматов данных, включая собственный формат 7z c высокоэффективным алгоритмом сжатия LZMA.

Этот архиватор имеет встроенную функцию вычисления контрольных сумм. Запустить ее можно прямо из контекстного меню Windows:

checksum 2

Если выбрать «звездочку», то программа подсчитает сразу несколько контрольных сумм:

checksum 3

Полученные данные можно выделить и скопировать в текстовый документ.

Как подсчитать контрольную сумму файла из консоли Windows

Чтобы посчитать контрольную сумму совсем не обязательно устанавливать специальные программы. И если вы не пользуетесь упомянутыми выше, то можете рассчитать контрольную сумму прямо из командной строки операционной системы.

Например, чтобы посчитать контрольную сумму SHA1 с помощью утилиты CertUtil нужно запустить командную строку Windows 10, 8 или Windows 7 и ввести следующую команду:

Вот пример ее работы через несколько минут:

windows free download 3

Считаем контрольную сумму в PowerShell

PowerShell — это средство автоматизации от Microsoft, с интерфейсом командной строки и языка сценариев, работает и включена в состав Windows 8 и новее.

Чтобы вычислить контрольную сумму файла необходимо выполнить команду Get-FileHash указав через пробел имя файла и алгоритм вычисления контрольной суммы:

Обратите внимание, что полный путь и имя файла лучше заключить в двойные кавычки.

checksum 4

По-умолчанию, если не указать тип контрольной суммы, то будет посчитана SHA-256.

Для алгоритмов вычисления контрольной суммы в Windows PowerShell поддерживаются следующие значения:

Для оформления вывода в виде списка можно использовать параметр | Format-List. Например:

Тогда результат работы будет выглядеть так:

checksum 5

Подробнее об использовании команды Get-FileHash можно прочитать на официальном сайте Microsoft — https://docs.microsoft.com/ru-ru/powershell/module/microsoft.powershell.utility/get-filehash

Какой алгоритм вычисления контрольных сумм самый правильный

MD5, SHA-1, SHA-256 и прочие – это разные алгоритмы хеш-функции. Хэши являются результатом работы криптографических алгоритмов, и представляют собой строку символов. Часто эти строки имеют фиксированную длину, независимо от размера входных данных.

MD5 самый быстрый, считается устаревшим, а SHA-256 имеет наименьшую вероятность коллизии, когда два разных файла имеют одинаковую контрольную сумму.

Для проверки целостности файла вам следует использовать тот, который предоставляет издатель. Если у вас на выбор есть несколько контрольных сумм, то лучше выбрать в следующей последовательности MD5, SHA-1, SHA-256, последний вариант является более предпочтительным.

Выводы

Если вы сомневаетесь в целостности скаченных файлов из интернета, особенно когда это касается оригинальных образов операционных систем, то проверьте их контрольную сумму. Сделать это можно как с помощью уже имеющихся у вас программ, так и воспользовавшись встроенными средствами операционной системы Windows.

Источник

Контрольные суммы файла

hash

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

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

Мы не будем углубляться в техническую реализацию, достаточно знать, что применяя определенный алгоритм высчитывает некое значение однозначно описывающее данный файл. Оно всегда одинаковое для одних и тех же данных и называется контрольной суммой или хешем. Хотя самих алгоритмов хеширования существует множество, вот некоторые из наиболее часто встречающихся: MD5, CRC32, SHA-1, SHA256, BTIH.

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

Проверка контрольных сумм файлов в Windows

В операционной системе Windows существует множество способов выполнить данную проверку, поэтому рассмотрим только несколько из них, а вы уже сами выберите наиболее удобный вам.

Проверка хеша файла в командной строке Windows

Начнем с самого простого способа не требующего установки дополнительного программного обеспечения. Начиная с Windows 7 есть возможность рассчитать контрольную сумму в командной строке используя встроенную утилиту certutil среди прочего умеющую вычислять хеш файлов. Просто запускаете командную строку и вводите следующую команду:

где [HashAlgorithm] может принимать одно из следующих значений: MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512. Таким образом, чтобы узнать контрольную сумму файла Win10_1511_1_Russian_x32.iso расположенного в корне диска D: по алгоритму SHA-1 команда будет выглядеть так:

certutil hashfile

Результатом выполнения команды будет строка содержащая хэш-код в виде шестнадцатеричных чисел. Кстати, чтобы не вводить путь до файла руками, можно воспользоваться хитростью. Результат вычислений выделен красным. Осталось сравнить его с оригинальным, для этого удобно вставить их рядом в блокноте. Причем если использовать продвинутый блокнот типа Notepad++, то и сверять визуально не придется, если хеши будут одинаковы, то они подсветятся.

Способ довольно простой, но некоторых неопытных пользователей пугает интерфейс командной строки, да и сравнивать контрольные суммы конечно не очень удобно. Поэтому существует множество сторонних программ умеющих вычислять хэши. Рассмотрим некоторые из них.

Проверка хеша в программе MD5 File Checker

Очень простая программа не требующая установки и имеющая графический интерфейс. Состоит всего из одного окна в котором нужно сначала выбрать файл в верхнем поле, затем вставить в самое нижнее правильный хеш и нажать кнопку «Проверить».

md5 file checker

Через некоторое время программа выдаст вердикт. Основной минус программы, что она умеет использовать только алгоритм MD5, что иногда бывает недостаточно. Скачать MD5 File Checker можно здесь.

Расчет контрольных сумм в программе HashTab

Здесь уже используется немного другой подход, причем есть версия как для Windows так и для Mac OS. В Windows программа является расширением проводника, а на Mac является плагином для Finder. Покажем работу программы на примере Windows.

Если после установки программы HashTab щелкнуть правой кнопкой мыши по проверяемому файлу и выбрать в контекстном меню «Свойства», то мы обнаружим новую вкладку «Хеш-суммы файлов» и одновременно запустится расчет контрольных сумм этого файла.

HashTab

Причем программа умеет вычислять хеш по множеству алгоритмов, а какой будет использоваться, можно выбрать, щелкнув «Настройки». Так же есть возможность указать оригинальную контрольную сумму, если хеши совпадут, то появится зеленая галочка. Скачать HashTab и узнать последние новости можно с сайта программы.

Представленных вариантов вполне достаточно, для проверки целостности файлов в Windows. Единственное пожалуй упомянем, что Total Commander так же умеет вычислять CRC-суммы, соответствующие возможности находятся в меню «Файл».

Проверка хешей в Linux

Здесь так же можно воспользоваться консолью. В случае алгоритма MD5 достаточно выполнив команду.

Для хеш-сумм по алгоритму SHA-1 команда выглядит немного иначе.

В случае необходимости рассчитать циклическую контрольную сумму (CRC) используется команда

Кто не хочет связываться с консолью, может поставить программу Gtkhash с графическим интерфейсом и проверять целостность файлов в ней. Для установки программы выполнить в консоли:

Напоследок расскажем о том, как можно убедиться, что скачанный с торрента или доставшейся из другого ненадежного источника дистрибутив Windows оригинальный и его не изменял кто-либо. Для этого идем на сайт Майкрософт где подписчики MSDN могут скачивать ее продукты. Находим нужный нам образ, обращая внимание на версию, дату, разрядность и язык. Когда нужный продукт будет найден, нажимаем на «Сведения» рядом с ним.

hash msdn

В нижней части раскрывшейся области будет указана хеш сумма рассчитанная по алгоритму SHA1. Не смотрите на название вашего файла, его могли переименовать, главное это содержимое. Кроме того не стоит тратить время на проверки контрольных сумм образа, если это сборка, репак и подобное народное творчество, а не образ MSDN.

Источник

Для чего проверяются хэш-суммы файлов и как это сделать?

Для проверки целостности файлов применяются хэш-суммы, позволяющие путем сравнения отследить изменения или повреждения в файле.

Что такое целостность файла?

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

Зачем проверять целостность файла?

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

Проведение данной процедуры необходимо для проверки целостности загружаемых файлов, чтобы обезопасить свое устройство и убедиться в том, что злоумышленники их не модифицировали, заразив вирусами. Хэш-функция применяется для файлов любых типов, включая установщики EXE и архивы ZIP.

Хакеры могут взломать интернет-ресурс, на котором размещен файл для скачивания, а затем подменить его на зараженный и изменить контрольные суммы, указанные разработчиком программы.

Как можно проверить целостность файла?

Для проверки контрольных сумм файлов можно воспользоваться специальными программами. Можно проверить целостность файла онлайн или прибегнуть к использованию встроенного инструмента в командной строке Windows, который называется CertUtil.

Чтобы выполнить проверку по алгоритму MD5, нужно ввести в командную строку следующее:

после чего указать путь к файлу, который необходимо проверить. После этого останется запустить выполнение команды с помощью клавиши Enter.

Что такое хэш суммы md5?

Это специальный криптографический алгоритм хэширования, состоящий из 32 шестнадцатеричных цифр и букв. Используется во многих файлах и сервисах. Существуют другие подобные алгоритмы, например, SHA.

Как проверить хэш-сумму MD5 с помощью программы Solid Explorer?

Данная программа предназначена для удобного управления файлами. Этот файловый менеджер имеет расширенный функционал, позволяющий выполнять различные действия с файлами. С его помощью можно обеспечить защиту файлов на основе надежного шифрования с помощью пароля и отпечатка пальца.

56918 890314

Данное приложение поддерживает основные сетевые протоколы и подключение к облачным хранилищам. Также можно получить Root-права для доступа к корневому каталогу. Есть функции группировки файлов по папкам и индексированный поиск.

Процесс установки на Android выглядит следующим образом:

Есть ли другие подобные решения

Если требуется быстро проверить целостность файла, но нет доступа к специализированному программному обеспечению, можно открыть вкладку « Свойства » двух сверяемых файлов и провести сравнение величины их размера в байтах. Если величины совпадают, то файл, скорее всего, не подвергался внесению каких-либо изменений.

Также можно инсталлировать бесплатную программу Hashtab с официального сайта разработчика. Для этого необходимо выполнить следующие действия:

56918 890355

Еще одним способом проверки совпадения хэш-суммы является использование языков веб-программирования для написания специализированного скрипта.

Советы и выводы

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

Дайте знать, что вы думаете по этой теме материала в комментариях. За комментарии, дизлайки, отклики, лайки, подписки огромное вам спасибо!

Источник

Понравилась статья? Поделить с друзьями:
  • Форд фокус 3 ошибка двигатель неисправен срочно в сервис как исправить ошибку
  • Как найти розу ветров за месяц
  • Ошибка 0ex06d7363 как исправить
  • Как найти radeon wattman
  • Как найти номер тиража золотая подкова