ฉันกำลังพยายามแฮชอาร์เรย์ของวัตถุ 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'
อันนี้มีแฮชที่แตกต่างกันเพราะมันมีสองวัตถุแทนที่จะเป็นเพียงอันเดียว
ดังนั้นคำถามของฉันกำลังจะเข้าใจว่ามีอะไรผิดปกติกับสามอาร์เรย์แรก หากฉันต้องการแฮชที่แตกต่างกันของแต่ละรายการ