1use hex::encode;2use jrsonnet_evaluator::{IStr, function::builtin};34#[builtin]5pub fn builtin_md5(s: IStr) -> String {6 format!("{:x}", md5::compute(s.as_bytes()))7}89#[builtin]10pub fn builtin_sha1(str: IStr) -> String {11 use sha1::digest::Digest;12 encode(sha1::Sha1::digest(str.as_bytes()))13}1415#[builtin]16pub fn builtin_sha256(str: IStr) -> String {17 use sha2::digest::Digest;18 encode(sha2::Sha256::digest(str.as_bytes()))19}2021#[builtin]22pub fn builtin_sha512(str: IStr) -> String {23 use sha2::digest::Digest;24 encode(sha2::Sha512::digest(str.as_bytes()))25}2627#[builtin]28pub fn builtin_sha3(str: IStr) -> String {29 use sha3::digest::Digest;30 encode(sha3::Sha3_512::digest(str.as_bytes()))31}