English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

파이썬 기본 튜토리얼

파이썬 흐름 제어

Python 함수

Python 데이터 타입

파이썬 파일 작업

파이썬 객체와 클래스

파이썬 날짜와 시간

파이썬 고급 지식

파이썬 참조 가이드

파이썬 프로그램이 파일의 해시 값을 찾습니다

파이썬 예제大全

이 문서에서는 파일의 해시 값을 찾고 표시하는 방법을 배웁니다.

이 예제를 이해하려면 다음을 알아야 합니다:파이썬 프로그래밍주제:

해시 함수는 어떤 양의 데이터를 가져와 고정 길이의 비트 문자열을 반환합니다. 함수의 출력은 요약 메시지라고 합니다.

그들은 인증을 위해 암호학에서 널리 사용됩니다. 많은 해시 함수가 있습니다. 예를 들어 MD5SHA-1등을 참조하여 이 페이지를 확인하십시오.암호학에서 해시 함수의더 많은 정보.

이 예제에서, 우리는 파일을 해시 처리하는 방법을 설명하겠습니다. 우리는 SHA를 사용할 것입니다-1해시 알고리즘. SHA-1요약의 길이는160비트.

우리는 파일의 전체 데이터를 한 번에 제공하지 않습니다. 왜냐하면 일부 파일이 매우 크고, 전체 데이터를 메모리에 한 번에 저장할 수 없기 때문입니다. 파일을 작은 블록으로 나누면 프로세스의 메모리 효율성을 높일 수 있습니다.

해시의 원본 코드

# 파일의 SHA를 찾는 파이썬 프로그램1메시지 요약
# hashlib 모듈을 가져옵니다
import hashlib
def hash_file(filename):
   """이 함수는 SHA-1해시
    이 파일을 전달합니다 """
   # 해시 객체를 생성합니다
   h = hashlib.sha1()
   # 파일을 이진 모드로 열기
   with open(filename, 'rb') as file:
       # 파일 끝까지 반복합니다
       chunk = 0
       while chunk != b''
           # 한 번에 읽습니다1024바이트
           chunk = file.read(1024)
           h.update(chunk)
   # 요약의 16진수 표현을 반환합니다
   return h.hexdigest()
message = hash_file("track"1.mp3")
print(message)

출력 결과

633d7356947eec543c50b76a1852f92427f4dca9

이 프로그램에서, 우리는 파일을 이진 모드로 엽니다. 해시 함수는 hashlib 모듈에서 사용할 수 있습니다. 우리는 파일의 끝까지 while 루프를 사용합니다. 마지막에 도달하면, 빈 바이트 객체를 얻습니다.

각 반복에서, 우리는 파일에서만 읽습니다1024바이트(이 값을 필요에 따라 변경할 수 있습니다)을 업데이트하고, 해시 함수를 업데이트합니다.

마지막으로, hashlib.hexdigest() 메서드를 사용하여 16진수 형식으로 요약 메시지를 반환합니다.

파이썬 예제大全