From 9f7d9773f10fe334276ce6139a6e4bf2aa3b8451 Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Wed, 13 Apr 2022 00:27:32 +0800 Subject: [PATCH] chore: digest_bytes --- src/digest.rs | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/digest.rs b/src/digest.rs index 10948cb..6d22785 100644 --- a/src/digest.rs +++ b/src/digest.rs @@ -8,33 +8,31 @@ use sha2::{Digest, Sha256, Sha384, Sha512}; // } pub fn sha256(input: &str) -> Vec { - let mut challenge = Sha256::default(); - Digest::update(&mut challenge, input.as_bytes()); - challenge.finalize().to_vec() + sha256_bytes(input.as_bytes()) } pub fn sha1_bytes(input: &[u8]) -> Vec { - let mut challenge = Sha1::default(); - challenge.update(input); - challenge.digest().bytes().to_vec() + let mut digest = Sha1::default(); + digest.update(input); + digest.digest().bytes().to_vec() } pub fn sha256_bytes(input: &[u8]) -> Vec { - let mut challenge = Sha256::default(); - Digest::update(&mut challenge, input); - challenge.finalize().to_vec() + digest_bytes::(input) } pub fn sha384_bytes(input: &[u8]) -> Vec { - let mut challenge = Sha384::default(); - Digest::update(&mut challenge, input); - challenge.finalize().to_vec() + digest_bytes::(input) } pub fn sha512_bytes(input: &[u8]) -> Vec { - let mut challenge = Sha512::default(); - Digest::update(&mut challenge, input); - challenge.finalize().to_vec() + digest_bytes::(input) +} + +pub fn digest_bytes(input: &[u8]) -> Vec where D: Digest + Default { + let mut digest: D = Default::default(); + Digest::update(&mut digest, input); + digest.finalize().to_vec() } macro_rules! define_copy_array {