fix(ext/node): alias shake-128 and shake-256 hash algorithms (#28451)

Fixes #28442

---------

Signed-off-by: Arsh <69170106+lilnasy@users.noreply.github.com>
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
This commit is contained in:
Arsh 2025-04-10 03:58:44 -04:00 committed by GitHub
parent 561097dd63
commit 447b5038c0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 16 additions and 2 deletions

View file

@ -200,8 +200,12 @@ impl Hash {
output_length: Option<usize>,
) -> Result<Self, HashError> {
match algorithm_name {
"shake128" => return Ok(Shake128(Default::default(), output_length)),
"shake256" => return Ok(Shake256(Default::default(), output_length)),
"shake128" | "shake-128" => {
return Ok(Shake128(Default::default(), output_length))
}
"shake256" | "shake-256" => {
return Ok(Shake256(Default::default(), output_length))
}
"sha256" => {
let digest = ring_sha2::RingSha256::new();
if let Some(length) = output_length {

View file

@ -132,3 +132,13 @@ Deno.test("[node/crypto.hash] oneshot hash API", () => {
const d = hash("sha1", "Node.js");
assertEquals(d, "10b3493287f831e81a438811a1ffba01f8cec4b7");
});
Deno.test("[node/crypto.hash] shake-128 alias", () => {
const d = hash("shake-128", "Node.js", "base64url");
assertEquals(d, "Nkx9-EgHpFkeXY5OPsL0rg");
});
Deno.test("[node/crypto.hash] shake-256 alias", () => {
const d = hash("shake-256", "Node.js", "base64url");
assertEquals(d, "JdelDxiwp92tkk9jYjEFPMlHD0gC8bMbYtHRCIM6TTQ");
});