GitHub에서 바이너리 파일을 다운로드했는데 릴리스 페이지에 SHA-256 체크섬이 적혀 있습니다. 이를 검증하려면 Terminal을 열고 shasum -a 256 ~/Downloads/file.tar.gz를 입력한 다음 계산이 끝나기를 기다리고, 64자리 16진수 문자열 두 개를 직접 나란히 놓고 비교해야 합니다. 글자 하나만 틀려도 파일이 손상된 건지 해시를 잘못 읽은 건지 알 수 없습니다.
혹은 문자열의 MD5 해시를 생성해야 할 수도 있습니다 — 캐시 키를 위해서든, Gravatar URL을 위해서든, 아니면 여전히 MD5 서명을 쓰는 레거시 API를 위해서든 말이죠. macOS에서는 md5 -s "text"이지만 Linux에서는 md5sum입니다. 사소한 차이지만, 시스템을 오갈 때마다 발목을 잡기에는 충분합니다.
터미널에서의 해싱: 작동은 하지만 겨우
macOS에는 md5, shasum, openssl dgst가 내장되어 있어 대부분의 알고리즘을 커버합니다. 하지만 각 도구마다 문법이 다릅니다. md5는 문자열 입력에 -s를 사용합니다. shasum은 알고리즘을 선택할 때 -a를 씁니다. openssl dgst는 -sha256이나 -md5를 플래그로 요구합니다. man 페이지를 확인하지 않고 알고리즘을 고르고 문자열을 해싱할 수 있는 단일 명령어는 없습니다.
가끔 빠른 해시가 필요한 개발자에게는, 이런 변형들을 기억하는 데 드는 인지적 부담이 작업의 단순함에 비해 지나치게 큽니다.
한 번의 붙여넣기로 해시 생성하기
Bellows는 MD5, SHA-1, SHA-256, SHA-384, SHA-512를 비롯한 다른 일반적인 알고리즘을 지원하는 해시 생성기를 포함합니다. 입력값을 입력하거나 붙여넣고, 알고리즘을 선택하면 해시가 즉시 나타납니다. 기억해야 할 플래그도, 찾아봐야 할 문법도 없습니다.
다운로드 검증하기
릴리스 페이지에 체크섬이 제공되면 다운로드한 파일과 비교하고 싶을 것입니다. 시각적인 도구에서 해시를 생성하면 터미널 창에서 두 문자열을 눈으로 대조하는 것보다 훨씬 쉽게 비교할 수 있습니다 — 특히 64자리인 SHA-256 해시라면 더욱 그렇습니다.
API 서명과 캐시 키
일부 API는 요청 인증을 위해 HMAC이나 해시 기반 서명을 요구합니다. 다른 API는 MD5나 SHA 해시를 캐시 키나 콘텐츠 식별자로 사용합니다. 요청 본문이나 문자열의 해시를 빠르게 생성할 수 있으면 디버깅 중에 구현이 기대값과 일치하는지 확인할 수 있습니다.
오프라인이며 안전함
해싱할 입력값에는 비밀번호, API 시크릿, 내부 식별자 같은 민감한 데이터가 담겨 있을 수 있습니다. Bellows는 네트워크 접근 없이 완전히 맥 안에서 실행되므로, 해싱하는 어떤 것도 기기를 벗어나지 않습니다.