AI 보이는 추론 실험실

JSON 속성 순서가 바뀌면 파일 해시도 달라질까요?

JSON 객체가 같은 값을 담아도 직렬화된 바이트 순서가 다르면 해시가 달라질 수 있습니다.

초등 고학년 이상게시 2026-11-05읽기·실험 약 10분확인 문제 2개규칙 기반 실행한국논리학협회 자체 제작제작·검수 LTCT 편집부

화면을 가리키며 노트에 기록하는 사람 곁에서, 작은 공식 올리가 같은 노트 가장자리에 앉아 글을 쓰는 학습 장면.
사람과 작은 올리가 화면을 살피고 노트에 기록하는 교육용 장면입니다. · 한국논리학협회 · AI 생성 배경 · 공식 올리 원본
오늘의 질문

데이터의 뜻이 같다는 것과 파일 바이트가 같다는 것은 같은 말일까요?

키 순서가 다른 두 JSON이 같은 객체 의미와 다른 파일 바이트를 가질 수 있음을 보여 주는 그림.
키 순서가 다른 두 JSON이 같은 객체 의미와 다른 파일 바이트를 가질 수 있음을 보여 주는 그림. · 한국논리학협회 자체 제작
그림 크게 보기 ↗
01

객체의 의미와 파일 바이트를 나누자

{"a":1,"b":2}와 {"b":2,"a":1}은 많은 프로그램에서 같은 키와 값을 가진 객체로 읽힙니다. 하지만 문자 순서가 달라 파일 바이트열은 다릅니다.

02

해시는 바이트를 본다

암호학적 해시는 의미를 해석하지 않고 입력 바이트를 계산합니다. 공백, 줄바꿈, 숫자 표기, 유니코드 표현도 달라지면 결과가 바뀔 수 있습니다.

03

비교 규칙을 먼저 합의하자

서명이나 캐시 키처럼 같은 의미를 같은 바이트로 만들 필요가 있다면 정규화 규칙이 필요합니다. RFC 8785는 JSON을 일관된 방식으로 직렬화하는 규칙을 제시합니다.

직접 확인하기 · 규칙 기반 실행

직접 확인하는 생각 실험

두 JSON을 문자열과 파싱한 객체로 각각 비교하고 정규화 전후를 확인합니다.

뜻과 바이트를 따로 비교하기

{"a":1,"b":2}

{"b":2,"a":1}

객체 의미: 같음 · 문자열 바이트: 다름

관계를 읽고, 다른 상황에 적용하기

두 문제로 생각 확인

1키와 값이 같아도 JSON 파일 해시가 달라질 수 있나요?
2같은 의미를 같은 바이트로 만들 때 필요한 것은?

두 문제의 답을 모두 선택하면 해설을 볼 수 있습니다.

나의 설명으로 마무리

오늘 발견한 관계

저장 위치를 확인하고 있습니다…

출처와 제작 안내

원문을 참고해 설명·도표·문항·실험을 새로 작성했습니다. 별도 표시가 없는 사례와 수치는 학습을 위한 가상 예시입니다. 원문 번역이나 실제 모델의 성능 평가 자료가 아닙니다.

  1. JSON Canonicalization Scheme (JCS) ↗RFC EditorRFC 8785

    JSON 정규화와 해시·서명