use hmac::{Hmac, Mac};
use sha2::Sha256;
use base64::{Engine as _, engine::general_purpose};
type HmacSha256 = Hmac<Sha256>;
pub fn generate_signature(secret_key: &str, message: &str) -> String {
let mut mac = HmacSha256::new_from_slice(secret_key.as_bytes())
.expect("HMAC can take key of any size");
mac.update(message.as_bytes());
let result = mac.finalize();
general_purpose::STANDARD.encode(result.into_bytes())
}