feat(tvix/eval): implement builtins.hashString

Implements md5, sha1, sha256 and sha512 using the related crates from
the RustCrypto hashes project (https://github.com/RustCrypto/hashes)

Change-Id: I00730dea44ec9ef85309edc27addab0ae88814b8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11005
Tested-by: BuildkiteCI
Reviewed-by: aspen <root@gws.fyi>
This commit is contained in:
Padraic-O-Mhuiris 2024-02-21 16:49:07 +00:00 committed by Pádraic Ó Mhuiris
parent ffb134398d
commit 5c3065b43a
14 changed files with 263 additions and 11 deletions

View file

@ -4191,6 +4191,41 @@ rec {
features = { };
resolvedDefaultFeatures = [ "default" ];
};
"md-5" = rec {
crateName = "md-5";
version = "0.10.6";
edition = "2018";
sha256 = "1kvq5rnpm4fzwmyv5nmnxygdhhb2369888a06gdc9pxyrzh7x7nq";
libName = "md5";
authors = [
"RustCrypto Developers"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "digest";
packageId = "digest";
}
];
devDependencies = [
{
name = "digest";
packageId = "digest";
features = [ "dev" ];
}
];
features = {
"asm" = [ "md5-asm" ];
"default" = [ "std" ];
"md5-asm" = [ "dep:md5-asm" ];
"oid" = [ "digest/oid" ];
"std" = [ "digest/std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"memchr" = rec {
crateName = "memchr";
version = "2.7.1";
@ -7763,6 +7798,45 @@ rec {
];
};
"sha1" = rec {
crateName = "sha1";
version = "0.10.6";
edition = "2018";
sha256 = "1fnnxlfg08xhkmwf2ahv634as30l1i3xhlhkvxflmasi5nd85gz3";
authors = [
"RustCrypto Developers"
];
dependencies = [
{
name = "cfg-if";
packageId = "cfg-if";
}
{
name = "cpufeatures";
packageId = "cpufeatures";
target = { target, features }: (("aarch64" == target."arch" or null) || ("x86" == target."arch" or null) || ("x86_64" == target."arch" or null));
}
{
name = "digest";
packageId = "digest";
}
];
devDependencies = [
{
name = "digest";
packageId = "digest";
features = [ "dev" ];
}
];
features = {
"asm" = [ "sha1-asm" ];
"default" = [ "std" ];
"oid" = [ "digest/oid" ];
"sha1-asm" = [ "dep:sha1-asm" ];
"std" = [ "digest/std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"sha2" = rec {
crateName = "sha2";
version = "0.10.8";
@ -10493,6 +10567,10 @@ rec {
name = "codemap-diagnostic";
packageId = "codemap-diagnostic";
}
{
name = "data-encoding";
packageId = "data-encoding";
}
{
name = "dirs";
packageId = "dirs";
@ -10520,6 +10598,10 @@ rec {
packageId = "lexical-core";
features = [ "format" "parse-floats" ];
}
{
name = "md-5";
packageId = "md-5";
}
{
name = "os_str_bytes";
packageId = "os_str_bytes";
@ -10557,6 +10639,14 @@ rec {
name = "serde_json";
packageId = "serde_json";
}
{
name = "sha1";
packageId = "sha1";
}
{
name = "sha2";
packageId = "sha2";
}
{
name = "smol_str";
packageId = "smol_str";