Fix issues 2139, 2217 handling Auto delimiter in fromDecimal function used in HMAC recipe
This commit is contained in:
parent
002ed911b1
commit
387c367049
@ -24,12 +24,17 @@ import Utils from "../Utils.mjs";
|
|||||||
* fromDecimal("10:20:30", "Colon");
|
* fromDecimal("10:20:30", "Colon");
|
||||||
*/
|
*/
|
||||||
export function fromDecimal(data, delim="Auto") {
|
export function fromDecimal(data, delim="Auto") {
|
||||||
delim = Utils.charRep(delim);
|
let byteStr;
|
||||||
const output = [];
|
if (delim === "Auto") {
|
||||||
let byteStr = data.split(delim);
|
byteStr = data.split(/[^\d-]+/).filter(v => v !== "");
|
||||||
if (byteStr[byteStr.length-1] === "")
|
} else {
|
||||||
byteStr = byteStr.slice(0, byteStr.length-1);
|
const delimStr = Utils.charRep(delim);
|
||||||
|
byteStr = data.split(delimStr);
|
||||||
|
if (byteStr[byteStr.length-1] === "")
|
||||||
|
byteStr = byteStr.slice(0, byteStr.length-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
const output = [];
|
||||||
for (let i = 0; i < byteStr.length; i++) {
|
for (let i = 0; i < byteStr.length; i++) {
|
||||||
output[i] = parseInt(byteStr[i], 10);
|
output[i] = parseInt(byteStr[i], 10);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -722,6 +722,39 @@ TestRegister.addTests([
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "HMAC: Decimal key space-delimited matches Latin1 key (fromDecimal Auto delimiter regression)",
|
||||||
|
input: "Hello, World!",
|
||||||
|
expectedOutput: "9b641a008211bb0464a10899d5b37a24ab08ffcf839f5e74d17d99f856530957",
|
||||||
|
recipeConfig: [
|
||||||
|
{
|
||||||
|
"op": "HMAC",
|
||||||
|
"args": [{"option": "Decimal", "string": "65 65"}, "SHA256"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "HMAC: Latin1 key matches space-delimited Decimal key (fromDecimal Auto delimiter regression)",
|
||||||
|
input: "Hello, World!",
|
||||||
|
expectedOutput: "9b641a008211bb0464a10899d5b37a24ab08ffcf839f5e74d17d99f856530957",
|
||||||
|
recipeConfig: [
|
||||||
|
{
|
||||||
|
"op": "HMAC",
|
||||||
|
"args": [{"option": "Latin1", "string": "AA"}, "SHA256"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "HMAC: Decimal key comma-delimited matches Latin1 key (fromDecimal Auto delimiter regression)",
|
||||||
|
input: "Hello, World!",
|
||||||
|
expectedOutput: "9b641a008211bb0464a10899d5b37a24ab08ffcf839f5e74d17d99f856530957",
|
||||||
|
recipeConfig: [
|
||||||
|
{
|
||||||
|
"op": "HMAC",
|
||||||
|
"args": [{"option": "Decimal", "string": "65,65"}, "SHA256"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "MD5: Complex bytes",
|
name: "MD5: Complex bytes",
|
||||||
input: "10dc10e32010de10d010dc10d810d910d010e12e",
|
input: "10dc10e32010de10d010dc10d810d910d010e12e",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user