Skip to content
Snippets Groups Projects
Commit 93c9490f authored by Zdravko Iliev's avatar Zdravko Iliev
Browse files

stringify object prop sort

parent 11bae20d
No related branches found
No related tags found
1 merge request!39Resolve "QR Code Data Signing & Verification flow"
......@@ -136,9 +136,21 @@ const computeQrCodeHash = async (emailData: MessageData): Promise<string> => {
attachments,
};
const promises = Object.values(dataForHashing).map(async (value) => {
const base64 = Buffer.from(JSON.stringify(value)).toString("base64");
return CryptoService.SHA256(base64);
const promises = Object.values(dataForHashing).map((value) => {
const string = Buffer.from(
JSON.stringify(value, (key, value) =>
value instanceof Object && !(value instanceof Array)
? Object.keys(value)
.sort()
.reduce((sorted, key) => {
sorted[key] = value[key];
return sorted;
}, {})
: value
)
).toString();
return CryptoService.SHA256(string);
});
const hashArray = await Promise.all(promises);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment