use sha1::Sha1; use sha2::{Digest, Sha256, Sha384, Sha512}; // pub fn sha1(input: &str) -> Vec { // let mut challenge = Sha1::default(); // challenge.update(input.as_bytes()); // challenge.digest().bytes().to_vec() // } pub fn sha256(input: &str) -> Vec { let mut challenge = Sha256::default(); Digest::update(&mut challenge, input.as_bytes()); challenge.finalize().to_vec() } pub fn sha1_bytes(input: &[u8]) -> Vec { let mut challenge = Sha1::default(); challenge.update(input); challenge.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() } pub fn sha384_bytes(input: &[u8]) -> Vec { let mut challenge = Sha384::default(); Digest::update(&mut challenge, input); challenge.finalize().to_vec() } pub fn sha512_bytes(input: &[u8]) -> Vec { let mut challenge = Sha512::default(); Digest::update(&mut challenge, input); challenge.finalize().to_vec() }