Skip to content

Conversation

@sobolevn
Copy link
Member

@sobolevn sobolevn commented Oct 31, 2022

new and HMAC.__init__ accepts bytes | bytearray as the first argument: https://github.com/python/cpython/blob/87b5fd9d9de11c68b9940d3a1dba902138129109/Lib/hmac.py#L52

digest works with any ReadableBuffer:

>>> hmac.digest(bytearray(b''), bytearray(b''), 'md5')
b't\xe6\xf7)\x8a\x9c-\x16\x895\xf5\x8c\x00\x1b\xad\x88'
>>> hmac.digest(memoryview(b''), memoryview(b''), 'md5')
b't\xe6\xf7)\x8a\x9c-\x16\x895\xf5\x8c\x00\x1b\xad\x88'

>>> hmac.digest(bytearray(b''), memoryview(b''), 'md5')
b't\xe6\xf7)\x8a\x9c-\x16\x895\xf5\x8c\x00\x1b\xad\x88'
>>> hmac.digest(memoryview(b''), bytearray(b''), 'md5')
b't\xe6\xf7)\x8a\x9c-\x16\x895\xf5\x8c\x00\x1b\xad\x88'

And has len() call on itself: https://github.com/python/cpython/blob/87b5fd9d9de11c68b9940d3a1dba902138129109/Lib/hmac.py#L214

Refs #9006

@github-actions
Copy link
Contributor

According to mypy_primer, this change has no effect on the checked open source code. 🤖🎉

@JelleZijlstra JelleZijlstra merged commit ae75d68 into python:master Oct 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants