Right now extra has md4/sha1/sha2 implemented, yet many more hashing algos exist so I'm thinking consolidating it now might make sense. sha1/sha2 are in extra/crypto/ but exported as extra::{sha1,sha2}, they both implement the Digest trait. md4 is simply in extra/ and has its own API.
Therefore I would like to suggest the following changes (and volunteer to realize them should they be accepted):
- move
extra/md4.rs to extra/crypto/md4.rs and make it implement Digest
- potentially move all three in an
extra::crypto::{md4,sha1,sha2} module, although I'd rather call it extra::hash:: because not all hash algos are to be considered cryptographically secure. Perhaps that is the reason md4 is not in crypto right now, but I think it'd be best to clean this up now before more hashes get added and the BC requirements becomes stronger.
Right now extra has md4/sha1/sha2 implemented, yet many more hashing algos exist so I'm thinking consolidating it now might make sense. sha1/sha2 are in extra/crypto/ but exported as
extra::{sha1,sha2}, they both implement the Digest trait. md4 is simply in extra/ and has its own API.Therefore I would like to suggest the following changes (and volunteer to realize them should they be accepted):
extra/md4.rstoextra/crypto/md4.rsand make it implement Digestextra::crypto::{md4,sha1,sha2}module, although I'd rather call itextra::hash::because not all hash algos are to be considered cryptographically secure. Perhaps that is the reason md4 is not in crypto right now, but I think it'd be best to clean this up now before more hashes get added and the BC requirements becomes stronger.