Message 72220 - Python tracker
Whereas openssl-based _hashlib refuses to accept unencoded strings:
>>> _hashlib.openssl_sha256("\xff")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object supporting the buffer API required
the _sha256 version encodes to UTF-8 by default:
>>> _sha256.sha256("\xff").digest() ==
_sha256.sha256("\xff".encode("utf-8")).digest()
True
I think refusing is better, but at least the behaviour should be
consistent. Same for the other algorithms in hashlib.