DISM/SFC에서는 어떤 해시 유형을 사용합니까?

DISM/SFC에서는 어떤 해시 유형을 사용합니까?

아래에는 어떤 해시 유형이 표시됩니까?

예시 1: 0h+p0j3/Y9s1ly0mqtU741bzLjqz12mDQGKtVScMeKg=

예시 2: uNryI5MYSV5U5O1NuFPGYexSxm2nLFrRXVqga+nQjw4=

이러한 해시는 Window의 DISM 유틸리티를 실행한 후 CBS.log 파일에서 나왔습니다. 전체 내용은 다음과 같습니다.

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와 유사하지만 그럴 수 없습니다. 왜냐하면 해시는 파일 크기가 다르더라도 항상 길이가 동일하기 때문입니다. 또한 해시 자체가 아니라 MD5 또는 SHA와 같은 Base64일 수도 있지만 이 문자열을 Base64로 디코딩하는 것도 도움이 되지 않을 것이라고 생각했습니다.

감사합니다.

답변1

Windows는 WinSxS에서 파일을 해싱하기 위해 SHA256을 사용합니다.

<dsig:DigestMethod xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />

다음 내용은 다음과 같습니다 FlashUtil_ActiveX.dll.

<file name="FlashUtil_ActiveX.dll" destinationPath="$(runtime.system32)\Macromed\Flash\" sourceName="FlashUtil_ActiveX.dll" sourcePath=".\" importPath="$(build.nttree)\adobe\flash\">
    <securityDescriptor name="WRP_FILE_DEFAULT_SDDL" />
    <asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2">
      <dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
        <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
      </dsig:Transforms>
      <dsig:DigestMethod xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
      <dsig:DigestValue xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">22R1ba1WE7oyGXwA0vGwywUOw/Hw/27MqRmwHJpL04g=</dsig:DigestValue>
    </asmv2:hash>
  </file>

아래에 dsig:DigestValue예상되는 해시가 표시됩니다. Windows가 파일을 검색하면 실제 파일에 대한 해시가 생성되고 이를 WinSxS의 매니페스트 파일에 있는 이 해시와 비교합니다.

관련 정보