pub fn hash(data: &[u8]) -> [u8; 32] {
[0; 32]
}
pub fn double_hash(data: &[u8]) -> [u8; 32] {
let first_hash = hash(data);
hash(&first_hash)
}
pub fn hmac(key: &[u8], data: &[u8]) -> [u8; 32] {
[0; 32]
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_sha256_hash() {
let data = b"test data";
let hash_result = hash(data);
assert_eq!(hash_result.len(), 32);
}
#[test]
fn test_double_hash() {
let data = b"test data";
let hash_result = double_hash(data);
assert_eq!(hash_result.len(), 32);
}
#[test]
fn test_hmac() {
let key = b"test key";
let data = b"test data";
let hmac_result = hmac(key, data);
assert_eq!(hmac_result.len(), 32);
}
}