일반적으로 바이너리와 텍스트는 ASCII 값으로 구분할 수 있다.
바이너리의 경우 0x00 ~ 0xFF 값을 모두 말하는 반면 텍스트는 0x00 ~ 0x7F의 값을 말한다.
쉽게 말하면, 메모장으로 파일을 열었을 때 사람이 대부분 읽을 수 있고 이해할 수 있다면 텍스트이고, 그렇지 않으면 파일을 바이너리로 정의하면 된다.
| 장점 | 단점 | |
|---|---|---|
| 짧은 문자열 | 변형 바이러스를 진단할 확률이 높다. | 정상적인 프로그램을 바이러스로 잘못 진단할 확률이 높다. |
| 긴 문자열 | 정상적인 프록램을 바이러스로 잘못 진단할 확률이 낮다. | 변형 바이러스를 진단할 확률이 낮다. |
| 긴 문자열을 여러 번 사용 | 정상적인 프로그램을 잘못 진단하거나 변형 바이러스를 진단하지 못할 확률이 낮다. | X |
=> MD5 해시를 사용해서 오진 가능성을 줄일 수 있다.
단방향 해시 알고리즘의 일종인 MD5(Message Digest algorithm 5)는 128 bit 해시 알고리즘이다.
(단방향 해시 알고리즘: 역방향(출력->입력)으로 처리가 불가능한 해시 알고리즘)