Use `bitcoin_hashes` rather than `ring` for hashing
authorMatt Corallo <git@bluematt.me>
Wed, 21 Feb 2024 02:21:26 +0000 (02:21 +0000)
committerMatt Corallo <git@bluematt.me>
Sat, 2 Mar 2024 16:41:07 +0000 (16:41 +0000)
commit21cb192395adf4912f1a247f416f0197972b8f27
tree2c698b0ac03ec1340609c5180d73e14d9190f5d4
parente5a226acf685301292c081aedf1d85ff12cda909
Use `bitcoin_hashes` rather than `ring` for hashing

While `ring` is great, it struggles with platform support and has a
fairly involved dependency tree due to its reliance on C backends.

Further, while the `RustCrypto` org tries to stick to Rust, in
doing so it takes on more (unnecessary) dependencies and has a
particularly unusable MSRV policy. Finally, its contributor base
has historically not been particularly friendly.

Thus, for the best platform support, we'd like to avoid both. Here
we take the first of several steps towards that goal, using
`bitcoin_hashes` for our SHA-1/SHA-2 operations instead.
Cargo.toml
src/crypto/hash.rs [new file with mode: 0644]
src/crypto/mod.rs [new file with mode: 0644]
src/http.rs
src/lib.rs
src/ser.rs
src/validation.rs