다른 개체의 두 해시를 결합하는 합법적 인 방법은 XOR을 사용하는 것입니다. 이것은 의미가 있지만 아래의 토마스 포르 넨 (Thomas Pornin)의 두 번째 주석에서 언급했듯이 XOR은 교환 적입니다. 즉, 집합의 각 요소를 해시하고 XOR과 결합하면 모든 순서에 따라 결과가 항상 달라집니다 같은 해시 :순서가 지정된 집합에 해시 합치기
Why is XOR the default way to combine hashes?
당신이 순서 의존 할 해시를 결합 할 수있는 좋은 방법은 무엇입니까? 크기와 관련이있는 경우 32 비트 및 64 비트에 대해 알려진 기술은 무엇입니까?
사이드 노트, 특별한 경우에 나는 반복 변수 'i'가 0에서부터 요소 수에 이른다. 'i'를 사용하여 순서 종속적 해시를 만드는 좋은 방법이 있습니까? – Trevor
순서를 지정하려면 부분 해시를 x 축으로 집계하기 전에 부분 해시를 회전 (* 이동하지 * 않음) 할 수 있습니다. 이 코스가 충돌을 일으킬 수 있다면 (H (ABCD) == H (DABC)와 같음) 게임의 일부입니다 ... – wildplasser
지금 나는 거대한 소수로 '나는'곱셈을하는 바보 같은 짓을하고 있습니다. , xor 또는 모든 요소에 대한 해시를 사용합니다. 그것은 질서를 강요하지만, 나는 분명히 전문가가 아니며, 그것이 커다란 충돌을 일으키는 지 전혀 모른다. – Trevor