중복 된 콘텐츠를 방지하고 싶습니다. 나는 내용의 사본을 지키고 싶지 않아, 그래서 나는 단지 MD5 서명을 유지하기로 결정했다.md5를 사용하여 중복되는 콘텐츠를 방지 할 수 있습니까?
나는 md5 충돌이 일어난다는 것을 읽었는데, 다른 내용이 동일한 md5 서명에서 줄 수있다.
md5로 충분하다고 생각하십니까?
md5와 sh1을 함께 사용해야합니까?
중복 된 콘텐츠를 방지하고 싶습니다. 나는 내용의 사본을 지키고 싶지 않아, 그래서 나는 단지 MD5 서명을 유지하기로 결정했다.md5를 사용하여 중복되는 콘텐츠를 방지 할 수 있습니까?
나는 md5 충돌이 일어난다는 것을 읽었는데, 다른 내용이 동일한 md5 서명에서 줄 수있다.
md5로 충분하다고 생각하십니까?
md5와 sh1을 함께 사용해야합니까?
사람들은 고의적으로 고의적 인 상황에서 MD5 충돌을 일으킬 수 있었지만, (악의적 인 사용자가없는 경우) 중복 된 내용을 방지하기 위해 적절하다고 생각했습니다.
그렇다면 SHA-1 (또는 SHA-2)을 사용할 수 있다면, 충돌로는 부분적으로는 측정 할 수 있지만 안전 할 것입니다.
악의적 인 사용자가있는 상황에서도 괜찮습니까? 정당한 내용이 먼저 게시됩니다 -> 악의적 인 사용자가 의도적 인 충돌을 생성합니다 -> 악의적 인 사용자가 내용을 게시 할 수있는 기능이 거부되었습니다 –
(samoz의 대답에 대한 설명은 http://stackoverflow.com/questions/1121701/can-i-preventing-duplicate- content-using-md5 # 1121713은 Spencer의 의견을 다룹니다. – RichieHindle
MD5는 낮은 CPU 비용으로 인해 이러한 상황에 적절합니다. 충돌로 인한 가양성에 대해 여전히 걱정이된다면 MD5를 먼저 실행 한 다음 충돌이 발생하면 SHA-2를 사용하여 충돌이 아닌 실제 충돌 (거짓 긍정)을 확인하십시오. 그것이 우리가 한 일입니다. 필요할 때만 SHA2의 99.99999999999 %의 높은 정확도와 MD5의 낮은 CPU 비용을 얻습니다. – srt8driver
MD5가 잘되어야합니다. 충돌은 매우 드뭅니다.하지만 실제로 걱정이된다면 sha-1도 사용할 수 있습니다.
시그니처가 실제로 그렇게 크지는 않겠지 만 여분의 처리주기와 디스크 공간이 있다면 둘 다를 수행 할 수 있습니다. 그러나 공간이나 속도가 제한적이라면, 나는 하나만 가지고 가겠다.
의도적으로 충돌하기 쉽기 때문에 MD5가 좋지 않습니다. –
그래서? 정당한 내용이 먼저 게시됩니다 -> 악의적 인 사용자가 의도적으로 충돌을 만듭니다 -> 악의적 인 사용자는 내용을 게시 할 수 없습니다. –
두 번째로 게시 된 합법적 인 콘텐츠로 다시 시도하십시오. –
MD5가 손상되었으며 SHA1이 이에 가깝습니다. SHA2를 사용하십시오.
영업에서 업데이트를 기반으로
편집, 의도적 인 충돌이 여기에 심각한 우려 것을하지 않는 것 같습니다. 비 의도적 인 경우, 적어도 64 비트 출력을 가진 괜찮은 해쉬는 괜찮을 것이다.
나는 일반적으로 MD5와 심지어 SHA1을 피할 것이지만, 그것에 대해 독단적 인 이유는 없습니다. 도구가 여기에 적합하면 꼭 사용하십시오.
SHA-1이 MD5처럼 손상되었다는 증거에 연결할 수 있습니까? –
이 경우 SHA1은 과잉이라고 생각합니다. 그는 암호와 같은 것을 확보하려고 시도하지 않고 중복을 방지합니다. MD5는 이러한 목적에 적합합니다. –
그것은 그것에 가깝지만 아직 깨지지 않았습니다. http://en.wikipedia.org/wiki/SHA_hash_functions#SHA-1 –
타임 스탬프 + md5를 함께 사용하면 충분히 안전합니다.
정말 콘텐츠에 따라 다릅니다. 예 : 이미지에 타임 스탬프를 사용하고 싶지는 않습니다. 왜냐하면 두 이미지는 바이트 중복을 위해 바이트가 될 수 있지만 생성/수정 된 타임 스탬프가 다릅니다. – pdwetz
md5로 충분해야합니다. 예, 충돌이있을 수 있지만 그 일이 일어날 가능성은 너무 작아서 문자 그대로 수십억 개의 콘텐츠를 추적하지 않는 한 걱정하지 않을 것입니다.
실수로 충돌을 두려워하는 경우 MD5 및 SHA1 해시를 수행하고 비교해보십시오. 둘 모두 일치하면 동일한 내용입니다. 둘 중 하나가 다른 경우 다른 콘텐츠입니다.
해시 충돌이있는 경우 단순히 콘텐츠 바이트를 바이트로 비교하지 않는 이유는 무엇입니까? 해시 충돌은 매우 드물기 때문에 바이트 확인을 위해 바이트를 처리해야하는 경우는 매우 드뭅니다. 그런 식으로 항목이 실제로 복제 된 경우에만 중복이 검색됩니다.
결합 알고리즘은 혼란을 줄뿐 아니라 해싱 알고리즘의 보안을 향상시키지 않습니다.
MD5도 어쨌든 사용할 수 없습니다. IMHO. 단조 MD5 해시는 MD5 충돌을 발생시키는 콘텐츠를 위조 할 수 있다는 것을 입증 한 연구원에 의해 입증되었으므로 소유하지 않은 도메인 이름에 대해 RapidSSL에서 인증서를 구매하는 위조 된 CSR을 생성 할 수있는 기회를 열었습니다. Security Now! episode 179 explains the process.
나에게있어 SHA 기반 해시는 강력하고 대부분의 개발 플랫폼이이를 지원하므로 선택이 쉽습니다. 나머지 결정 요소는 블록 크기입니다.
나는 SHA-1이 약점의 징후를 보였기 때문에 SHA-2가 일반적으로 추천된다. –
콘텐츠의 양은 어느 정도입니까? – ceejayoz
SHA2 다이제스트의 크기가 우연한 충돌을 만들기에 충분할 정도로 충분히 크기 때문에 문제가되지 않습니다. –
명백한 후속 질문 : 우리는 의도적 인 충돌 또는 우발적 인 충돌과 관련이 있습니까? –