컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Excel 엑셀] 절대값 구하기 함수 사용법: Absolute Value Function이뮬 검색 결과 많이 나오게 하기: eMule Max Search ResultC언어] 실수를 실수로 반올림 함수, 자릿수 지정; Round to Double Funct...Java 자바] 음수 지수 계산 공식; 마이너스 제곱(거듭제곱; 누승); Negative ...Java 자바] 음수에 대한 제곱, 거듭제곱(세제곱, 네제곱); Power of Negat...마우스 드라이버 다운로드 (MS 마우스용 다운); Mouse Driver Download마우스 커서 이동 속도 변경 방법; 빠르게 느리게 Mouse Cursor Speed마우스 커서 변경 방법, 마우스 아이콘 지정 법; Mouse Cursor Change울트라에디트 사용법 강좌; 한글 매뉴얼, 팁 UltraEdit Manual울트라에디트 영문 스펠링 철자 검사 기능 사용법, UltraEdit Spelling Che...

Python 파이썬] 파일의 CRC32 값 구하기: File CRC 계산 소스

Sunday, April 08, 2007

어떤 파일명을 명령행 옵션으로 지정해 주면 그 파일의 CRC-32 값을 구하여 출력하는 파이썬 스크립트입니다.

zlib.crc32() 함수를 이용합니다. 그런데 파일을 'rb' 이렇게 "읽기 전용 + 이진 파일" 모드로 열어야 합니다. 그냥 'r' 이렇게 열면, 이진파일의 경우 대부분 틀린 CRC 값이 나오게 됩니다.

이 스크립트로 계산하면, ZIP 이나 RAR 에서 계산된 CRC-32 값과 동일한 값이 나옵니다.

실행시 옵션으로 입력한 파일의 CRC-32 출력 예제
스크립트 파일명: example.py
#!/usr/bin/python
# -*- coding: cp949 -*-


# 32비트 unsigned 형으로 변환하는 함수 정의
def unsigned32(n):
  return n & 0xFFFFFFFFL


# 지정한 파일의 CRC-32 값 반환 함수
import zlib
def getCRC32(filename):
  try:
    crc = zlib.crc32(file(filename, 'rb').read())
    return unsigned32(crc)
  except IOError:
    print "그런 파일이 없거나, 읽기 에러입니다."
    return -1  # 에러 나면 -1 (-0000001) 반환




# 본격적인 프로그램 시작
import sys
if len(sys.argv) == 1:  # 옵션 없으면 도움말 출력하고 종료
  print "CRC를 검사할 파일명을 입력해 주세요"
  exit(1)


# CRC-32 값 출력
print "%08X" % getCRC32(sys.argv[1])




실행 결과 화면:
D:\Z>example.py
CRC를 검사할 파일명을 입력해 주세요

D:\Z>example.py game.exe
FBC6BE97

D:\Z>



파일이 아닌, 문자열의 CRC 계산: ▶▶ Python 파이썬] 문자열의 CRC32 값 구하기, String CRC 계산 함수 zlib.crc32 사용법


C언어로 구하기: ▶▶ [C언어] 비주얼C로, 파일의 CRC-32 값 구하기 (빠르고 메모리 점유 없이)

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top