Modernise Romulus-M implementation and improve error handling

This commit is contained in:
2025-09-02 20:44:07 +01:00
parent b12c05f3b6
commit df9c9a708b
14 changed files with 4823 additions and 8224 deletions

View File

@@ -5,13 +5,12 @@ import {
DecryptResult,
} from "../src/romulus-m";
function parseHexString(string: string): number[] {
const ret = [];
function parseHexString(string: string): Uint8Array {
const bytes: number[] = [];
for (let i = 0; i < string.length; i += 2) {
ret.push(parseInt(string.slice(i, i + 2), 16));
bytes.push(parseInt(string.slice(i, i + 2), 16));
}
return ret;
return new Uint8Array(bytes);
}
test.each(referenceTests)(
@@ -27,7 +26,7 @@ test.each(referenceTests)(
// Then
const expectedResult = parseHexString(ciphertext);
expect(result).toMatchObject(expectedResult);
expect(result).toEqual(expectedResult);
},
);
@@ -47,6 +46,6 @@ test.each(referenceTests)(
success: true,
plaintext: parseHexString(plaintext),
};
expect(result).toMatchObject(expectedResult);
expect(result).toEqual(expectedResult);
},
);