RHash를 사용해 보세요

RHash를 사용해 보세요

명령을 사용하면 md5sum각 줄의 해시와 경로가 포함된 텍스트 파일을 얻을 수 있으며 단일 명령으로 전체 파일 목록을 확인할 수 있습니다. 예를 들어 sha1sum텍스트 파일은 루프나 다른 수단을 통해 쉽게 생성됩니다.sha256sumsha1sum -c mydir.txtfind

CRC/CRC32 해시 목록으로 동일한 작업을 수행할 수 있는 방법이 있습니까?

이러한 해시는 일반적으로 ZIP 자체 또는 7z와 같은 zip 형식의 아카이브에 저장됩니다. 예를 들어:

$ unzip -v archive.zip 
Archive:  archive.zip
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
 8617812  Stored  8617812   0% 12-03-2015 15:20 13fda20b  0001.tif

또는:

$ 7z l -slt archive.7z

Path = filename
Size = 8548096
Packed Size =
Modified = 2015-12-03 14:20:20
Attributes = A_ -rw-r--r--
CRC = B2F761E3
Encrypted = -
Method = LZMA2:24
Block = 0

답변1

RHash를 사용해 보세요

노력하다R해시.

사용할 수 있는 패키지가 있습니다. 시빈,더반.

$ echo -n a > a.txt; echo -n b > b.txt; echo -n c > c.txt

$ rhash --crc32 --simple *.txt > checksums.crc32

$ cat checksums.crc32
e8b7be43  a.txt
71beeff9  b.txt
06b9df6f  c.txt

$ rhash --crc32 --check checksums.crc32
--( Verifying checksums.crc32 )-------------------------------------------------
a.txt                                               OK
b.txt                                               OK
c.txt                                               OK
--------------------------------------------------------------------------------
Everything OK

참고 1:--간단한 형식

형식 지정 옵션을 사용하지 않으면 --simplerhash는 기본적으로 다른 형식을 사용합니다. 이것은 당신이 원하는 것이 아닐 수도 있습니다:

$ rhash --crc32 *.txt
; Generated by RHash v1.3.7 on 2020-06-03 at 16:02.51
; Written by Kravchenko Aleksey (Akademgorodok) - http://rhash.sf.net/
;
;            1  15:58.36 2020-06-03 a.txt
;            1  15:58.36 2020-06-03 b.txt
;            1  15:58.36 2020-06-03 c.txt
a.txt E8B7BE43
b.txt 71BEEFF9
c.txt 06B9DF6F

참고 2: --all 옵션

미치고 싶다면 시도해 보세요--all옵션지원되는 모든 해시를 한 번에 가져옵니다.

답변2

이 유틸리티에는 유사한 옵션이 crc32없습니다 . 그러나 확인은 스크립트에서 수행할 수 있습니다.-csha1sum

sha1sum 인쇄 값과 동일한 형식으로 파일에 crc32 값을 저장했다고 가정합니다.

a8374911 *file1.ext
32c5188e *file2
6592d5e5 *bflmpsvz

crc32는 bash 스크립트를 통해 확인할 수 있습니다.

while read line
do 
   name=${line#* \*}
   crc32=`crc32 "$name"`
   echo -n "$name: "
   if [ "${line% \**}" == "$crc32" ]
   then
      echo OK
   else
      echo FAILED
   fi
done < file_with_crc32

이 스크립트는 와 동일한 출력을 제공합니다 sha1sum -c. 파일의 모든 줄 file_with_crc32과 각 줄에 대해 반복됩니다.

  • 읽기 라인에서 파일 이름 검색
  • CRC32 계산
  • 계산된 값을 파일의 값과 비교
  • 결과 인쇄

관련 정보