[python] M2Crypto를 사용하여 HMAC-SHA512 해싱을 수행하는 방법은 어떻게 되나요?
먼저, M2Crypto 라이브러리를 설치해야 합니다. 아래는 Python에서 M2Crypto를 사용하여 HMAC-SHA512 해싱을 수행하는 예제 코드입니다.
먼저, M2Crypto 및 관련 라이브러리를 설치합니다.
pip install M2Crypto
그런 다음, 다음 코드를 사용하여 HMAC-SHA512 해싱을 수행할 수 있습니다.
from M2Crypto.EVP import Cipher
import hashlib
def hmac_sha512(key, msg):
def update_first_block(cipher, block):
return cipher.update(block)
def update_blocks(cipher, block_size, data):
for i in range(0, len(data), block_size):
block = data[i:i + block_size]
cipher.update(block)
return cipher
block_size = 128
ipad = 0x36.to_bytes(1, 'big') * block_size
opad = 0x5C.to_bytes(1, 'big') * block_size
if len(key) > block_size:
key = hashlib.sha512(key).digest()
key += b'\x00' * (block_size - len(key))
key_xor_ipad = bytes([x ^ y for (x, y) in zip(key, ipad)])
key_xor_opad = bytes([x ^ y for (x, y) in zip(key, opad)])
hmac_hash = hashlib.sha512(key_xor_ipad + msg).digest()
hmac_hash = hashlib.sha512(key_xor_opad + hmac_hash).digest()
return hmac_hash
key = b'your_key'
message = b'your_message'
hash_result = hmac_sha512(key, message)
print(hash_result.hex())
위의 코드는 M2Crypto를 사용하여 주어진 키 및 메시지에 대한 HMAC-SHA512 해싱을 수행하는 방법을 보여줍니다.
추가로, M2Crypto 문서(https://gitlab.com/m2crypto/m2crypto)를 참고하여 더 자세한 정보를 얻을 수 있습니다.