0 바이트 파일은 어떻게 해시 값을 생성 할 수 있습니까?


20

sha1sum, sha256sum 등으로 해시 될 때 0 바이트 텍스트 파일이 어떻게 해시를 생성 할 수 있습니까? 프로그램이 해시 값을 생성하기 위해 해싱하는 데이터는 무엇입니까?

고마워

리눅스에서의 QuickHash

터미널 명령

답변:


21

해시 알고리즘은 데이터가 있더라도 입력을 읽고 처리합니다. 이것은 유효하고 원하는 동작이며 특정 구현이 올바른지 확인하는 데에도 사용됩니다. 이로 인해 모든 주요 알고리즘에 대해 "널 해시"가 발생합니다.

요약하자면 : da39a3ee5e6b4b0d3255bfef95601890afd80709는 어디에서나 빈 파일의 sha1 해시이며 다른 알고리즘의 null 해시에서도 마찬가지입니다.


1
글쎄, 당신은 매일 새로운 무언가를 배웁니다! 모든 알고리즘에 대해 "널값"이 있는지 몰랐습니다. 많은 감사합니다.
Gizmo_the_Great

3
해시 알고리즘은 데이터에서 읽을 때 시작하고 변경하는 숫자와 같은 미리 정해진 초기 조건을 갖습니다. 읽을 데이터가없는 경우 해시는 해당 사전 설정 초기 조건의 결과입니다.
케빈

sha1 알고리즘이 데이터 길이 (이 경우 0)를 추가하고 메시지에 플래그 및 패딩도 추가 되었기 때문입니다. 따라서 "데이터 없음"도 일부 데이터가 처리됩니다.
user92979

14

Quick Hash의 모든 해시 알고리즘은 Merkle–Damgård 구성 입니다. 따라서 메시지를 블록 크기의 배수로 채 웁니다.

Quick Hash의 알고리즘은 1비트, 0필요한만큼의 비트 및 메시지 길이 를 추가하여이를 달성합니다 .

이를 통해 길이가 0 인 메시지를 포함하여 임의 길이의 메시지를 해싱 할 수 있습니다.


내 편집 사유가 혼란 스러우면 처음에 답을 잘못 읽고 "명확하게하기 위해"라고 답한 다음 내 편집이 잘못되었다는 것을 깨달아 수정했습니다. 시스템은 두 시간의 설명이 같은 시간 내에 있었기 때문에이 설명을 통합했습니다.
fixer1234

1

(Dennis 및 fixer1234의 답변에 추가 기능이 있습니까?)

간결하게 :

$ shasum -a 256 /dev/null e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 /dev/null

모든 0 바이트 파일은 동일한 체크섬을 갖습니다.

$ shasum -a 512 /dev/null cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e /dev/null

$ shasum /dev/null da39a3ee5e6b4b0d3255bfef95601890afd80709 /dev/null

$ md5 /dev/null MD5 (/dev/null) = d41d8cd98f00b204e9800998ecf8427e (참고 : MD5가 손상되었습니다. '보안 해시'가 아닙니다.이 내용은 Wikipedia의 MD5 항목에 설명되어 있습니다.)

예를 들어, virustotal.com에 있는 파일의 무해 성을 확인하려는 경우 여기에 나열된 보안 해시 값 중 하나를 사용하십시오. 예 da39a3ee5e6b4b0d3255bfef95601890afd80709를 들어 파일이 실제로 0 바이트 (또는 폴더, virustotal은 혼란스럽게도 마치 0 바이트 파일 인 것처럼 해시됩니다.)


이것이 현재 답변에 어떻게 추가됩니까?
Máté Juhász

회의론자가 모든 0 바이트 파일이 동일한 체크섬을 갖는지 확인하는 직접적인 방법을 제공함으로써 virustotal.com에서 0 바이트 파일의 무해 성을 논의 할 때 몇몇 사람들이 이에 대해 회의적이었습니다. 따라서이 질문에 오는 사람이 체크섬이 cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b93a3a13a3a79a3a79a93a47a3a79a93a47a93a3a79a93a3a79a93a3a79a93a3a79a93a3a79a93a3d179
Matthew Elvey
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.