chore: digest_bytes

This commit is contained in:
2022-04-13 00:27:32 +08:00
parent 98ef85f9e6
commit 9f7d9773f1

View File

@@ -8,33 +8,31 @@ use sha2::{Digest, Sha256, Sha384, Sha512};
// } // }
pub fn sha256(input: &str) -> Vec<u8> { pub fn sha256(input: &str) -> Vec<u8> {
let mut challenge = Sha256::default(); sha256_bytes(input.as_bytes())
Digest::update(&mut challenge, input.as_bytes());
challenge.finalize().to_vec()
} }
pub fn sha1_bytes(input: &[u8]) -> Vec<u8> { pub fn sha1_bytes(input: &[u8]) -> Vec<u8> {
let mut challenge = Sha1::default(); let mut digest = Sha1::default();
challenge.update(input); digest.update(input);
challenge.digest().bytes().to_vec() digest.digest().bytes().to_vec()
} }
pub fn sha256_bytes(input: &[u8]) -> Vec<u8> { pub fn sha256_bytes(input: &[u8]) -> Vec<u8> {
let mut challenge = Sha256::default(); digest_bytes::<Sha256>(input)
Digest::update(&mut challenge, input);
challenge.finalize().to_vec()
} }
pub fn sha384_bytes(input: &[u8]) -> Vec<u8> { pub fn sha384_bytes(input: &[u8]) -> Vec<u8> {
let mut challenge = Sha384::default(); digest_bytes::<Sha384>(input)
Digest::update(&mut challenge, input);
challenge.finalize().to_vec()
} }
pub fn sha512_bytes(input: &[u8]) -> Vec<u8> { pub fn sha512_bytes(input: &[u8]) -> Vec<u8> {
let mut challenge = Sha512::default(); digest_bytes::<Sha512>(input)
Digest::update(&mut challenge, input); }
challenge.finalize().to_vec()
pub fn digest_bytes<D>(input: &[u8]) -> Vec<u8> where D: Digest + Default {
let mut digest: D = Default::default();
Digest::update(&mut digest, input);
digest.finalize().to_vec()
} }
macro_rules! define_copy_array { macro_rules! define_copy_array {