답변:
OS X은 shasum 명령 과 함께 제공됩니다 .
> which shasum
/usr/bin/shasum
당신이 사용할 수있는:
> shasum -a 256 <file>
자세한 내용은:
> shasum --help
Usage: shasum [OPTION]... [FILE]...
Print or check SHA checksums.
With no FILE, or when FILE is -, read standard input.
-a, --algorithm 1 (default), 224, 256, 384, 512, 512224, 512256
-b, --binary read in binary mode
-c, --check read SHA sums from the FILEs and check them
-t, --text read in text mode (default)
-p, --portable read in portable mode
produces same digest on Windows/Unix/Mac
-0, --01 read in BITS mode
ASCII '0' interpreted as 0-bit,
ASCII '1' interpreted as 1-bit,
all other characters ignored
The following two options are useful only when verifying checksums:
-s, --status don't output anything, status code shows success
-w, --warn warn about improperly formatted checksum lines
-h, --help display this help and exit
-v, --version output version information and exit
When verifying SHA-512/224 or SHA-512/256 checksums, indicate the
algorithm explicitly using the -a option, e.g.
shasum -a 512224 -c checksumfile
The sums are computed as described in FIPS-180-4. When checking, the
input should be a former output of this program. The default mode is to
print a line with checksum, a character indicating type (`*' for binary,
` ' for text, `?' for portable, `^' for BITS), and name for each FILE.
Report shasum bugs to mshelor@cpan.org
which shashum
출력 없음
/usr/bin
옵션적인 것들로 오염되지 않기를 정말로 바란다 . 오늘이 사실인지 확인해야합니다. 실제로 XCL 설치에서 온 경우 답변을 업데이트합니다.
shasum
openssl sha -sha256 <file>
와 다른 해시를 반환합니다 (후자는 올바른 해시). 왜 그런지 알아?
shasum
는 펄 스크립트이며 Digest::SHA
해시 값을 계산하는 데 사용 됩니다. 동일한 파일의 경우 shasum
또는 해시 계산 openssl
을 사용하여 동일한 SHA를 얻습니다 SHA-256
. 참조 : gist.github.com/ianchesal/82a064b8971eb5e717ce84f3ded6dbfd
@John 의 유용한 답변 을 명확하게하기 위해 -주어진 해시를 하나의 명령으로 파일과 비교할 수 있습니다.
초기 해시가 생성 된 방식에
따라 Enter 키 shasum -a 256 -c <<<
,
선택적 공백,
단일 틱 ( '
),
비교할 해시
, 공백,
모드 문자를 차례로 입력합니다.
아무것도 , 해시로 만든 경우 -t
어떤 옵션 (기본값은 텍스트 모드) 또는
*
해시가 -b
(이진 모드) 로 작성된 경우 별표 ( )
(휴대용 모드)로 ?
해시를 만든 경우 물음표 ( -p
)
(비트 모드)로 ^
해시를 만든 경우 캐럿 ( -0
)
파일 경로
, 닫는 단일 틱 ( '
) 이옵니다 .
다음 분석과 같이 해시 및 파일 경로 부분 주위에 구획을 표시하고 선택적 "모드 문자"부분 주위에 대괄호를 사용합니다. ( 실제로 괄호 또는 괄호를 포함하지 마십시오-부품을 쉽게 볼 수 있도록 여기에 있습니다! )
shasum -a 256 -c <<< '(hashToCompare) [mode character](filepath)'
세분화 :
실제 shasum 명령은shasum -a 256 -c
-a 256
sha256shasum
을 사용하도록 지시 합니다 .
-c
shasum
제공된 입력을 "확인"하도록 지시 합니다.
은 <<<
은 "리디렉션"연산자라는 유닉스 / 리눅스 특수 문자 집합입니다. 이전 명령에 무언가를 공급하기위한 것입니다. 이를 사용하여 shasum
명령이 입력으로 사용할 수 있도록 일련의 정보를 제공 할 것 입니다.
입력 정보 문자열에는 검사 'some string here'
할 해시, 모드 문자 및 파일 경로 와 같은 단일 틱 열기 및 닫기 틱이 있어야합니다 .
문자열 내부 의 해시 부분에는 특별한 것이 필요하지 않지만 뒤에 공백이 있어야합니다.
모드 문자 부분은 아무것도, 별표 (수 없다 *
), 물음표 ( ?
) 또는 캐럿 ( ^
). shasum
해시가 생성 된 모드를 알려줍니다 . (참고 : 텍스트 모드를 나타내는 문자는 shasum
기본값 이 아닙니다 .)
파일 경로의 부분은, 파일의 실제 경로를 확인하는 것입니다.
여기에 특정 MAMP 다운로드 파일을 SHA-256 값 과 비교하여 확인하는 실제 예제가 있습니다. *
모드 문자는 일이 확인을 위해 필요했다 :
shasum -a 256 -c <<< 'f05ede012b8a5d0e7c9cf17fee0fa1eb5cd8131f3c703ed14ea347f25be11a28 *MAMP_MAMP_PRO_5.2.pkg'
참고 : 이 명령의 결과 (예제 파일의 경우)는 다음 중 하나입니다.
승인:
MAMP_MAMP_PRO_5.2.pkg : 확인
또는
실패한:
MAMP_MAMP_PRO_5.2.pkg : FAILED
shasum : 경고 : 1 개의 계산 된 체크섬이 일치하지 않습니다
shasum -c <<< '7cb77378a0749f2a9b7e09ea62ffb13febf3759f *sample.txt'
메시지를 반환합니다 *sample.txt: FAILED open or read
. 별표가 없으면 sample.txt: OK
. 나는 별표가 다른 곳에서 사용 된 근거를 찾지 못했습니다. 당신은 명확히 할 수 있습니까?
--binary
옵션 포함) 로 생성 된 것 입니까? 매뉴얼 페이지에서 : "확인할 때 입력은이 프로그램의 이전 출력이어야합니다. 기본 모드는 유형을 나타내는 문자 ( *
2 진, 텍스트,`, U
UNIVERSAL, ^
BITS, ?
(휴대용) 및 각 파일의 이름입니다. " 따라서 체크섬과 파일 이름 사이의 문자는 체크섬을 만들 때 설정된 모드에 따라 달라 집니까?