1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use sha2::{Digest, Sha256}; pub(super) fn sha256_hex(bytes: &[u8]) -> String { let digest = Sha256::digest(bytes); hex_lower(&digest) } fn hex_lower(bytes: &[u8]) -> String { const HEX: &[u8; 16] = b"0123456789abcdef"; let mut output = String::with_capacity(bytes.len() * 2); for byte in bytes { output.push(HEX[(byte >> 4) as usize] as char); output.push(HEX[(byte & 0x0f) as usize] as char); } output }