HMAC

简介

Hash-based message authentication code。

python

hashlib模块

1
2
3
4
5
6
7
8
9
10
>>> import hashlib
>>> hashlib.algorithms_available
{'whirlpool', 'md5', 'shake_256', 'BLAKE2s256', 'SHA224', 'blake2s256', 'BLAKE2b512', 'md5-sha1', 'md4', 'sha256', 'sha3_224', 'sha3_384', 'shake_128', 'blake2b512', 'SHA512', 'SHA1', 'sha224', 'RIPEMD160', 'sha3_256', 'SHA384', 'MD5-SHA1', 'sha3_512', 'SHA256', 'MD4', 'sha1', 'sha512', 'MD5', 'sha384', 'blake2s', 'ripemd160', 'blake2b'}
>>> hashlib.algorithms_guaranteed
{'sha224', 'sha3_256', 'sha384', 'md5', 'shake_256', 'sha256', 'blake2s', 'sha3_224', 'blake2b', 'sha3_384', 'shake_128', 'sha3_512', 'sha1', 'sha512'}
>>> m=hashlib.sha512()
>>> m.update('helloword')
>>> m.update(b'helloword') # 不能是unicode编码
>>> m.hexdigest()
'c3710d9949a3ee2b1c89ec9e9dd154a649aeecc43422222ce3d4de51fa32f021e75123a1b5769aae35c939bf87f333d92ec58192ce5f55fa72e344225027c16e'

hmac模块