다른 리눅스에서도 작동하는지는 알 수 없으니 우분투라고 했다.

사이트들에 가 보면 MD5라고 써있고, 이상한 문자열이 있는 것을 볼 수 있다.

다운이 이상없이 됐는지 체크하는 용도로 사용하는 문자열이다.

예컨대, 아래 그림을 참고해 보자. 우분투를 한국 환경에 맞게 설정해 둔 ‘코분투’를 다운로드 하는 링크다.

아래쪽에 체크섬파일이라고 적혀있는 게 보일 거다. 클릭해서 들어가보면 아래처럼 나온다.

0237e41023e4a077a41b6b3210619d0b  cobuntu-9.10_1-desktop-i386.iso

원리에 대한 설명은 나중에 하고, 다음을 따라해 보자.

파일을 다 다운받았다면, 터미널을 연다.

다운받은 디렉토리로 이동해서 다음 명령어를 쳐본다.

openssl dgst -md5 cobuntu-9.10_1-desktop-i386.iso

위에서 -md5 다음 부분은 당연히 파일명이고, 파일명에 따라 변하는 거다. 착각하지 마시길.

자, 그러면 시간이 좀 흐른 후에 문자열이 나온다.

MD5(cobuntu-9.10_1-desktop-i386.iso)= 0237e41023e4a077a41b6b3210619d0b

이렇게 말이다.

그러면 보자… 0237e41023e4a077a41b6b3210619d0b가 위에서 본 문자열이랑 같은지 비교해 보면 되는 거다. 문자열이 같으면, 파일이 오류없이 온전히 받아졌다는 것을 확신할 수 있다. ^^

MD5 체크섬 원리

오늘 코분투를 다운받는데, 체크섬이 있길래 나도 활용해 보고 싶어서 적어 봤다.

원래 MD5는 단방향 암호화 기법이다. 복잡한 설명은 자르고, MD5 함수는 수학적으로 엄청 복잡한 알고리즘을 돌려서, 어떤 값을 집어넣어도 위처럼 졸라 복잡한 32개의 문자열로 변환해서 뽑아 준다. 그리고 같은 값을 넣으면 반드시 같은 값이 반환되며, 서로 다른 값을 넣었을 때 같은 값이 반환될 확률은 지극히 적다고 한다.

그리고 저걸 풀려면 졸라 오래 걸린다고 한다.(처음에 만들었을 때는 암호를 풀려면 당시 컴퓨터로 50년 넘게 걸렸다고 하는데, 요새는 암호가 짧을 경우 금세 풀린다고 한다.)

단방향 암호화기 때문에 암호를 쉽게 풀 수 있는 키 같은 건 존재하지 않는다. 무조건 모든 값을 넣어보는 수밖에 없다.

여튼간에, MD5가 가진 위와 같은 특성 중, 같은 값을 집어넣으면 반드시 같은 값을 반환하게 돼 있는 특성을 이용해 파일에 손상이 있는지를 확인하는 게 바로 MD5 체크섬이다.

사소한 차이만 있어도 반환되는 문자열은 천지차이가 나기 때문에 안심해도 된다.

123 :  202cb962ac59075b964b07152d234b70
123. : d375af34cc08aba9a1cc9b6596a70c36

위는 123과 123.을 각각 MD5 단방향 암호화 알고리즘으로 암호화한 것이다. 완전히 다른 결과값이 나왔다는 것을 알 수 있다.

끝.