Description
I have some questions and comments about the hashlib
module.
-
Some boards/ports have
sha256
,sha1
and others, as part of the binary already (particularly when SSL is being used). Some of these are made available inuhashlib
, and so IMHOhashlib
should use those versions since they are both faster and smaller than anything we can do in pure python. It looks to me likesha256
is guaranteed to be there (ifuhashlib
exists) and SHA1 may exist ifMICROPY_PY_UHASHLIB_SHA1
is set. -
It pains me that
lib/axtls/crypto
contains lots of hash functions that could be part ofuhashlib
, plus AES and other primitives. That belongs as an issue against axtls though. -
hashlib.new()
seems like a useful addition to implement, since that would allow pruning of algorithms that aren't needed on today's project, and if this module is rewritten in C, it becomes a great place to extend with native versions, when available. -
I need to have
ripemd160
but I don't think it's common enough to bother weighing-down this module for everyone.
I'm going to follow-up with pull requests for 1 and 3, and maybe 4 if there is interest.
Any thoughts?