Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용한 메시지 인증을 위한 키 해시

<시간/>

HMAC는 암호화 해시 기능을 사용하여 메시지 인증에 사용되는 프레임워크입니다. HMAC는 MD5, SHA-1 등에 사용할 수 있습니다.

암호화 해시를 생성하는 기본 아이디어는 실제 데이터와 비밀 키에 대한 해싱을 수행하는 것입니다. 최종 출력은 비밀 키 없이 전송됩니다.

이 모듈을 사용하려면 파이썬 코드에서 hmac 모듈을 가져와야 합니다.

hmac 가져오기

hmac 모듈의 일부 메소드 및 속성은 다음과 같습니다 -

hmac.update(message) 메소드

이 메소드는 주어진 메시지로 hmac 객체를 업데이트하는 데 사용됩니다. 이 함수의 반복 호출은 연결된 인수를 사용한 단일 호출과 동일합니다.

hmac.digest() 메소드

이 메서드는 업데이트 메서드를 통해 전달된 요약 데이터를 반환하는 데 사용됩니다. 바이트 객체의 크기는 digest_size와 동일합니다. 0에서 255까지의 전체 범위의 바이트를 포함할 수 있습니다.

메서드 hashlib.hexdigest()

이 방법은 다이제스트 방법과 동일하지만 결과에는 16진수 값만 포함됩니다. 이 방법은 매우 쉽게 인터넷을 통해 데이터를 전송하는 데 사용됩니다.

hashlib.copy() 메소드

이 메서드는 hmac 객체의 복사본을 만드는 데 사용됩니다. 문자열 다이제스트를 보다 효율적으로 계산하려면 copy() 메서드가 유용합니다.

예시 코드

import hashlibimport hmacupdate_bytes =b'Python123'password =b'abcde1234'my_hmac =hmac.new(update_bytes, password, hashlib.md5) #md5를 사용하여 해시 생성 algorithmprint("첫 번째 다이제스트:" + str(my_hmac.digest ()))print("정식 이름:" + my_hmac.name)my_hmac_cpy =my_hmac.copy() #hmac 객체의 복사본을 만듭니다.print("복사된 다이제스트:" + str(my_hmac_cpy.digest())) 

출력

첫 번째 다이제스트:b"\x1c\xe1\xfb\x9b\xd4\x8bu\xb9\xe6N6\xee\x00O'}"정규 이름:hmac-md5복사된 다이제스트:b"\x1c\xe1\xfb \x9b\xd4\x8bu\xb9\xe6N6\xee\x00O'}"