-
Notifications
You must be signed in to change notification settings - Fork 215
Use the sha1_smol library for SHA1 #587
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I've bumped our MSRV to 1.56.0 to use the new dependency resolver. We might not actually land this way (it's quite a jump), but I wanted to see if that was an option. |
As I wrote here, I doubt merit of this approach. You only make public surface of Also I would like to add that number of dependencies is a controversial metric to blindly follow. In the case of RustCrypto crates we publish common parts of algorithm implementations (e.g. In addition to that, you should also consider general popularity in ecosystem (and thus chances that a dep will be reused in a project dependency tree) and maintenance status (org vs single developer). |
Ah, this could possibly benefit from a note alongside the Yeh, number of dependencies doesn’t personally appeal to me much (neither do MSRVs, but that’s a separate thing). It’s a balance. But it comes up enough from users of this library that I’ve taken a stance on it to minimise them. In practice I don’t think sha1 needs a lot of active maintenance, and I wouldn’t expect the supply-chain risk of
The first two are the ones users make the most noise about. |
I've opened #589 to try clean up our optional dependencies a bit. It uses the rust-crypto |
619505e
to
165b7eb
Compare
Ok, at this stage we'll stick with Thanks for all your input @newpavlov and for your efforts in supporting a full and usable crypto ecosystem 🙇 It's such a cross-cutting concern that it's nice to have you jump in and look to support consumers the way you have. |
Closes #582
Follow-up for #581
This PR follows the crate renaming of
sha1
so that we default to the zero-dependencysha1_smol
crate, but support afast-sha1
feature that pulls in the rust-cryptosha1
crate with itsasm
feature. This follows the same approach we've used for RNG where users get a small footprint by default, but can pull in more specialized implementations if they want to.