This commit is contained in:
jaguarihno 2025-04-14 18:45:43 +01:00 committed by GitHub
commit be4080b77e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 52 additions and 4 deletions

View file

@ -32,8 +32,10 @@ class BLAKE2b extends Operation {
this.args = [ this.args = [
{ {
"name": "Size", "name": "Size",
"type": "option", "type": "number",
"value": ["512", "384", "256", "160", "128"] "value": 256,
"min": 8,
"max": 512
}, { }, {
"name": "Output Encoding", "name": "Output Encoding",
"type": "option", "type": "option",
@ -61,6 +63,10 @@ class BLAKE2b extends Operation {
throw new OperationError(["Key cannot be greater than 64 bytes", "It is currently " + key.length + " bytes."].join("\n")); throw new OperationError(["Key cannot be greater than 64 bytes", "It is currently " + key.length + " bytes."].join("\n"));
} }
if (outSize % 8 !== 0 || outSize < 8 || outSize > 512) {
throw new OperationError("Size has to be between 8 to 512 and multiple of 8.");
}
input = new Uint8Array(input); input = new Uint8Array(input);
switch (outFormat) { switch (outFormat) {
case "Hex": case "Hex":

View file

@ -32,8 +32,10 @@ class BLAKE2s extends Operation {
this.args = [ this.args = [
{ {
"name": "Size", "name": "Size",
"type": "option", "type": "number",
"value": ["256", "160", "128"] "value": 256,
"min": 8,
"max": 256
}, { }, {
"name": "Output Encoding", "name": "Output Encoding",
"type": "option", "type": "option",
@ -62,6 +64,10 @@ class BLAKE2s extends Operation {
throw new OperationError(["Key cannot be greater than 32 bytes", "It is currently " + key.length + " bytes."].join("\n")); throw new OperationError(["Key cannot be greater than 32 bytes", "It is currently " + key.length + " bytes."].join("\n"));
} }
if (outSize % 8 !== 0 || outSize < 8 || outSize > 256) {
throw new OperationError("Size has to be between 8 to 256 and multiple of 8.");
}
input = new Uint8Array(input); input = new Uint8Array(input);
switch (outFormat) { switch (outFormat) {
case "Hex": case "Hex":

View file

@ -52,5 +52,23 @@ TestRegister.addTests([
{ "op": "BLAKE2b", { "op": "BLAKE2b",
"args": ["128", "Hex", {string: "pseudorandom key", option: "UTF8"}] } "args": ["128", "Hex", {string: "pseudorandom key", option: "UTF8"}] }
] ]
},
{
name: "BLAKE2b: 224 - Hello World",
input: "Hello World",
expectedOutput: "19790463ef4ad09bdb724e3a6550c640593d4870f6e192ac8147f35d",
recipeConfig: [
{ "op": "BLAKE2b",
"args": ["224", "Hex", {string: "", option: "UTF8"}] }
]
},
{
name: "BLAKE2b: 192 - Hello World",
input: "Hello World",
expectedOutput: "317d59b18418b8a12623faf5ebc2072e5e70ac4b8ba6d33a",
recipeConfig: [
{ "op": "BLAKE2b",
"args": ["192", "Hex", {string: "", option: "UTF8"}] }
]
} }
]); ]);

View file

@ -43,5 +43,23 @@ TestRegister.addTests([
{ "op": "BLAKE2s", { "op": "BLAKE2s",
"args": ["128", "Hex", {string: "", option: "UTF8"}] } "args": ["128", "Hex", {string: "", option: "UTF8"}] }
] ]
},
{
name: "BLAKE2s: 224 - Hello World",
input: "Hello World",
expectedOutput: "8a74d9e5c5de9c8a0cb1c292f65808831717e422302f3d58853d58ed",
recipeConfig: [
{ "op": "BLAKE2s",
"args": ["224", "Hex", {string: "", option: "UTF8"}] }
]
},
{
name: "BLAKE2s: 192 - Hello World",
input: "Hello World",
expectedOutput: "cc181c0f167a1727308d894c6182bbe6c4865698e7f7bfac",
recipeConfig: [
{ "op": "BLAKE2s",
"args": ["192", "Hex", {string: "", option: "UTF8"}] }
]
} }
]); ]);