파일 무결성 체크하는 "MD5 hasher' , 누가 파일을 위조했는지 알 수 있음

파일 무결성 체크하는 "MD5 hasher' , 누가 파일을 위조했는지 알 수 있음



MD5(Message-Digest algorithm 5)는 어떤 파일이 변경 되었는지를 확인할 때 주로 사용한다.  즉, 내가 메모장에 1~100까지 적어서 저장 후 홍길동에게 보냈는데 누가 도중에 스니핑으로 파일을 절취해서 파일 내용을 1~200으로 수정했을 때 구분 할 수 있는 방법이다.



아래 그림을 보면 이해가 간편하다.



저기 알집으로 압축한 파일을 먼저 이 프로그램으로 돌리면 고유의 문자가 생성된다.


그런데 누군가 이 압축 파일을 변조하면





다시 검사 했을 경우에 이렇게 문자가 다른 것을 알 수 있다.   일반인들이 평상 시 사용 할 일을 별로 없을 것 같다.  하지만 어떤 목적으로 파일을 배포 할 때 이 프로그램으로 해시값 까지 함께 기입해서 배포 한다면  유저가 해당 파일이 정상 파일인지 아니면 변조된 파일인지 확인이 가능하겠다.


실질적으로 사용해보았는데 유용하다.



다운로드는 본문 글 하단을 참고,,,




배경지식 알아보기


MD5  http://ko.wikipedia.org/wiki/MD5

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 찾기

MD5(Message-Digest algorithm 5)는 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다. 1991년로널드 라이베스트가 예전에 쓰이던 MD4를 대체하기 위해 고안했다.

1996년에 MD5의 설계상 결함이 발견되었다. 이것은 매우 치명적인 결함은 아니었지만, 암호학자들은 해시 용도로 SHA-1와 같이 다른 안전한 알고리즘을 사용할 것을 권장하기 시작했다. 2004년에는 더욱 심한 암호화 결함[1]이 발견되었고. 2006년에는 노트북 컴퓨터 한 대의 계산 능력으로 1분 내에 해시 충돌을 찾을 정도로 빠른 알고리즘이 발표[2]되기도 하였다. 2012년 현재 MD5 알고리즘을 보안 관련 용도로 쓰는 것은 권장하지 않으며, 심각한 보안 문제를 야기할 수도 있다. 2008년 12월에는 MD5의 결함을 이용해 SSL 인증서를 변조하는 것이 가능하다는 것이 발표되었다[1].


SHA http://ko.wikipedia.org/wiki/SHA

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 찾기

SHA(Secure Hash Algorithm, 안전한 해시 알고리즘) 함수들은 서로 관련된 암호학적 해시 함수들의 모음이다. 이들 함수는 미국 국가 안전 보장국(NSA)이 1993년에 처음으로 설계했으며 미국 국가 표준으로 지정되었다. SHA 함수군에 속하는 최초의 함수는 공식적으로 SHA라고 불리지만, 나중에 설계된 함수들과 구별하기 위하여 SHA-0이라고도 불린다. 2년 후 SHA-0의 변형인 SHA-1이 발표되었으며, 그 후에 4종류의 변형, 즉 SHA-224, SHA-256, SHA-384, SHA-512가 더 발표되었다. 이들을 통칭해서 SHA-2라고 하기도 한다.

SHA-1은 SHA 함수들 중 가장 많이 쓰이며, TLS, SSL, PGP, SSH, IPSec 등 많은 보안 프로토콜과 프로그램에서 사용되고 있다. SHA-1은 이전에 널리 사용되던 MD5를 대신해서 쓰이기도 한다. 혹자는 좀 더 중요한 기술에는 SHA-256이나 그 이상의 알고리즘을 사용할 것을 권장한다.

SHA-0과 SHA-1에 대한 공격은 이미 발견되었다. SHA-2에 대한 공격은 아직 발견되지 않았으나, 전문가들은 SHA-2 함수들이 SHA-1과 비슷한 방법을 사용하기 때문에 공격이 발견될 가능성이 있다고 지적한다. 미국 표준 기술 연구소(NIST)는 SHA-2로 불리는 새로운 암호화 해시 알고리즘에
















md5hasher.rar

압축 버전



아래는 압축 푼 버전이다.

md5hasher.exe


Interop.IWshRuntimeLibrary.dll






이 포스트를 추천해 주시면 더욱 많은 분들에게 보여집니다~!