현재 게임업계에서 일하고 있는데요, 지속적으로 패치를 해야되요. 그런데 그럴려면 매번 이전 버전의 파일과 신버전의 파일을 비교하여 달라진 파일을 찾아내야 하는데, 빠르고 정확한 파일비교 알고리즘이 있나요 ? 아니면 그냥 파일2개 읽어와서 4바이트씩 xor해서 비교를 해야하나요 ? 아니면 checksum값을 만들어 내서 비교하는 방법이 있나요 ?
여기서 중요한건 달라진 파일을 100% 집어 내야한다는데 있어요.
md5 같은 해쉬 함수를 이용하면 안되나요?
특정 바이트 마다 hash값을 취하는것이 가장 나아 보이네요...
일정 부분만 변한다면 전체값을 다 비교해야되니까요. 예를들자면 한 1메가마다 해쉬값을 정해두고 그 해쉬값만을 비교한다든지요.
------------------------------------------ Let`s Smart Move!!http://kalstein.tistory.com/
diff가 그런 것 아닌가요? 제가 잘못 이해했나요…
자체적으로 내린 결론은 그냥 바이너리 파일을 비교한다 였습니다. 해쉬함수를 쓴다하더라도 진짜 운나쁘면, 충돌이 일어날 수 도 있고요
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
md5 같은 해쉬 함수를
md5 같은 해쉬 함수를 이용하면 안되나요?
특정 바이트 마다
특정 바이트 마다 hash값을 취하는것이 가장 나아 보이네요...
일정 부분만 변한다면 전체값을 다 비교해야되니까요. 예를들자면 한 1메가마다 해쉬값을 정해두고 그 해쉬값만을 비교한다든지요.
------------------------------------------
Let`s Smart Move!!
http://kalstein.tistory.com/
diff가 그런 것
diff가 그런 것 아닌가요? 제가 잘못 이해했나요…
자체적으로 내린
자체적으로 내린 결론은
그냥 바이너리 파일을 비교한다 였습니다.
해쉬함수를 쓴다하더라도 진짜 운나쁘면, 충돌이 일어날 수 도 있고요
댓글 달기