Я пытаюсь хэшировать массив объектов 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'
Этот хеш имеет другой хэш, потому что у него есть два объекта, а не толькоone.
Таким образом, мой вопрос должен понять, что не так с первыми тремя массивами, если мне нужно получить различный хэш каждого из них.