provable-sdk 0.1.2

Provable SDK for Rust
Documentation
use sha2::{Digest, Sha256};
use sha3::Keccak256;

pub fn keccak256(data: impl AsRef<[u8]>) -> String {
    let mut hasher = Keccak256::new();
    hasher.update(data.as_ref());
    hex::encode(hasher.finalize())
}

pub fn hash(data: impl AsRef<[u8]>) -> String {
    keccak256(data)
}

pub fn keccak256_str(value: &str) -> String {
    keccak256(value.as_bytes())
}

pub fn hash_str(value: &str) -> String {
    keccak256_str(value)
}

pub fn sha256(data: impl AsRef<[u8]>) -> String {
    let mut hasher = Sha256::new();
    hasher.update(data.as_ref());
    hex::encode(hasher.finalize())
}

pub fn sha256_str(value: &str) -> String {
    sha256(value.as_bytes())
}