Message 369104 - Python tracker
def new(key, msg=None, digestmod=''):
# use fast HMAC if OpenSSL bindings are available and digestmod is
# either a string or a callable that returns an OpenSSL HASH object.
if _hashopenssl is not None:
if isinstance(digestmod, str):
return _hashopenssl.hmac_new(key, msg, digestmod)
if callable(digestmod):
digest = digestmod(b'')
if isinstance(digest, _hashopenssl.HASH):
return _hashopenssl.hmac_new(key, msg, digest.name)
return HMAC(key, msg, digestmod)