2014-10-19

MD5 hash 값 확인 방법

테스트 베드에 올려서 테스트한 결과가 개발 시 테스트 결과와 달라서 확인하여보니 테스트 데이터 파일이 변조 되어있었다.

그래서 테스터에게 MD5 hash 검증 방법을 공유하는 김에 블로그에도 글을 남긴다.
openssl 사용법은 기존에 알고 있었으나 Fciv툴은 이번에 처음 알게 되었다.

- hash 검증 순서
1. 원본 파일 hash 값을 구함
2. 원본 파일과 1의 hash 값 배포.
3. 배포된 파일 hash 값을 구함.
4. 1,3의 hash 값이 같으면 동일 한 것, 다르면 변조된 것으로 판단.

- hash 값 구하는 법
1. Openssl 사용

  • Openssl은 linux 계열 OS 설치 시 기본 옵션으로 설치되거나 설치 패키지가 제공 됨.
  • Windows 계열은 msys나 cygwin설치 시 패키지로 설치 시 사용 가능. 
  • 직접 소스를 구하며 빌드 하여도 됨.
  • 사용법 openssl md5 <파일명 | 경로>

      > openssl md5 test.dat
      MD5(test.dat)= d2b91d550d1a876f347ab0cc7b6d66c9

2. Fciv 사용 microsoft에서 제공하는 파일 위변조 검증 툴.

  • Windows 계열에서 사용 가능.
  • 아래 경로에서 다운로드 받아서 사용하면 된다. 
  • http://support2.microsoft.com/kb/841290  - Installation에 다운로드 링크 있음
  • fciv.zip  - 위에 파일을 다운 받아서 zip으로 압축 해둔 것
  • 압축 해제해서 생성되는 Fciv.exe 파일경로를 path 환경 변수 설정하거나 windows\system32 폴더에 복사하는 것을 권장. 
  • 아래 사용법을 보면 알겠지만, 파일명이나 절대경로를 입력해야하기 때문에 환경변수 설정 안 해두면 사용하기 불편함.
  • 사용법 fciv <파일명 | 절대경로> -md5
      > fciv olympic-GD-60p_mov_60fps_10bit.ts -md5
      //
      // File Checksum Integrity Verifier version 2.05.
      //
      d2b91d550d1a876f347ab0cc7b6d66c9 test.dat

openssl이나 fciv나 사용 시 md5 대신 sha1를 사용하면 sha1 hash 값을 구할 수도 있다.


댓글 없음:

댓글 쓰기