Какой тип хеша представлен ниже?
Пример 1: 0h + p0j3 / Y9s1ly0mqtU741bzLjqz12mDQGKtVScMeKg =
Пример 2: uNryI5MYSV5U5O1NuFPGYexSxm2nLFrRXVqga + nQjw4 =
Эти хэши были взяты из файла CBS.log после запуска утилиты DISM в Windows. Вот полная строка:
2017-03-11 20:46:08, Info CSI 00000005 Hashes for file member \SystemRoot\WinSxS\amd64_microsoft-windows-c...appxmain.resources_31bf3856ad364e35_10.0.14393.206_sr-..-cs_8caf1c5c152c5f9f\resources.sr-Latn-CS.pri do not match actual file [l:24]'resources.sr-Latn-CS.pri' :
Found: {l:32 0h+p0j3/Y9s1ly0mqtU741bzLjqz12mDQGKtVScMeKg=} Expected: {l:32 uNryI5MYSV5U5O1NuFPGYexSxm2nLFrRXVqga+nQjw4=}
Он похож на Base64, но этого не может быть, потому что хэш всегда имеет одинаковую длину с файлами разного размера. Я также подумал, что, может быть, это не сам хэш, а Base64 чего-то вроде MD5 или SHA, но Base64-декодирование этой строки также не помогает.
Спасибо.
Ответы:
Windows использует SHA256 для хеширования файлов в WinSxS:
Вот содержание для
FlashUtil_ActiveX.dll
:Под
dsig:DigestValue
вами виден ожидаемый хеш. Если Windows сканирует файлы, она создает хеш для фактического файла и сравнивает его с этим хешем в файлах манифеста в WinSxS.источник