From e358bd405fb1cb5fa75b14e63e52d6b3654490dc Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Sun, 15 Dec 2024 17:25:11 +0100 Subject: [PATCH] sasl: Simplify hash conversion to Vec Use `GenericArray::to_vec()` directly. --- sasl/src/common/scram.rs | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/sasl/src/common/scram.rs b/sasl/src/common/scram.rs index 652ac0795df24611a6b378412935ae4650fb0089..5747ed1066c515e9c5506b6f42b8a3b7196f0f69 100644 --- a/sasl/src/common/scram.rs +++ b/sasl/src/common/scram.rs @@ -82,19 +82,14 @@ impl ScramProvider for Sha1 { fn hash(data: &[u8]) -> Vec { let hash = Sha1_hash::digest(data); - let mut vec = Vec::with_capacity(Sha1_hash::output_size()); - vec.extend_from_slice(hash.as_slice()); - vec + hash.to_vec() } fn hmac(data: &[u8], key: &[u8]) -> Result, InvalidLength> { type HmacSha1 = Hmac; let mut mac = HmacSha1::new_from_slice(key)?; mac.update(data); - let result = mac.finalize(); - let mut vec = Vec::with_capacity(Sha1_hash::output_size()); - vec.extend_from_slice(result.into_bytes().as_slice()); - Ok(vec) + Ok(mac.finalize().into_bytes().to_vec()) } fn derive(password: &Password, salt: &[u8], iterations: u32) -> Result, DeriveError> { @@ -142,19 +137,14 @@ impl ScramProvider for Sha256 { fn hash(data: &[u8]) -> Vec { let hash = Sha256_hash::digest(data); - let mut vec = Vec::with_capacity(Sha256_hash::output_size()); - vec.extend_from_slice(hash.as_slice()); - vec + hash.to_vec() } fn hmac(data: &[u8], key: &[u8]) -> Result, InvalidLength> { type HmacSha256 = Hmac; let mut mac = HmacSha256::new_from_slice(key)?; mac.update(data); - let result = mac.finalize(); - let mut vec = Vec::with_capacity(Sha256_hash::output_size()); - vec.extend_from_slice(result.into_bytes().as_slice()); - Ok(vec) + Ok(mac.finalize().into_bytes().to_vec()) } fn derive(password: &Password, salt: &[u8], iterations: u32) -> Result, DeriveError> {