Я пытаюсь хэшировать массив объектов JSON, но по какой-то причине сгенерированный hasd не меняется при некоторых обстоятельствах.
Эти примеры были протестированы в nodejs с использованием пакета алгоритмов хеширования sha256.
arr1 = [{a: 1}];
sha(arr1);
'6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d'
arr2 = [{a: 1, b:2}]
sha(arr2);
'6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d'
arr3 = [{a: 1111111111111}];
sha(arr3);
'6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d'
Как вы можете видеть, все массивы имеют одно и то же сгенерированное хеш-значение, даже если они имеют разные свойства.
arr4 = [{a: 1}, {b: 2}];
sha(arr4);
'96a296d224f285c67bee93c30f8a309157f0daa35dc5b87e410b78630a09cfc7'
У этого другой хеш, потому что у него два объекта вместо одного.
Итак, мой вопрос заключается в том, чтобы понять, что не так с первыми тремя массивами, если мне нужно получить другой хэш каждого из них.