openssl이 SHA-256을 생성합니다.

openssl이 SHA-256을 생성합니다.

HMAC-SHA-256을 사용하여 파일의 암호화 해시를 생성하기 위해 openssl을 사용하려고 합니다. 출력에 "해당 파일 또는 디렉터리 없음" 오류가 표시되는 이유가 무엇인지 혼란스럽습니다.

내가 사용하는 키는 mykey.txt라는 파일에 있습니다.

이것은 내 명령입니다:

openssl dgst -sha256 -hmac -hex hexkey:$(cat mykey.txt) -out hmac.txt /bin/ps

그리고 출력

여기에 이미지 설명을 입력하세요.

답변1

-hmac키를 매개변수로 전달합니다(매뉴얼 보기), 따라서 명령에는 키의 HMAC가 필요합니다 -hex. hexkey:...대시로 시작하지 않고 openssl파일 이름 뒤에 옵션이 없으므로 파일 이름으로 처리되므로 다음 -out도 파일 이름입니다.

-mac hmac16진수 문자열로 제공된 키를 사용하여 HMAC를 얻으려면 및 를 사용해야 합니다 -macopt hexkey:<key>. -hmac <key>및 을 함께 사용하면 -mac hmac작동하지 않으며 가 -macopt필요합니다 -mac hmac.

시험:

openssl dgst -sha256 -hmac abc <<< "message"
openssl dgst -sha256 -hmac abc -macopt hexkey:12345678 <<< "message"
openssl dgst -sha256 -mac hmac -macopt hexkey:616263 <<< "message"
perl -MDigest::HMAC=hmac_hex -MDigest::SHA=sha256 \
    -le 'print(hmac_hex("message\n", "abc", \&sha256))'

제공된 모든 해시는 99592e56fcde028fb41882668b0cbfa0119116f9cf111d285f5cedb000cfc45a무작위 온라인 HMAC 계산기의 메시지 message\n, 키 abc또는 61626316진수 와 일치합니다. (여기서 끝에 개행 문자가 있음을 참고하십시오 message.)

그래서 당신이 원하는 것 같습니다

openssl dgst -sha256 -mac hmac -macopt hexkey:$(cat mykey.txt) -out hmac.txt /bin/ps

암호화에 관해 이야기하고 있기 때문에 이것은 어렵습니다. OpenSSL은 항상 사용하기 쉬운 인터페이스를 갖고 있지 않습니다. 따라서 제 말을 그대로 받아들이는 것보다 적어도 두 번은 직접 모든 것을 확인하는 것이 좋습니다.

답변2

openssl dgst -sha256 -hmac -hex-마콥트16진수 키:$(cat mykey.txt) -out hmac.txt /bin/ps

답변3

iOS(또는 Mac OS...)를 사용 중이고 제가 글을 쓰는 데 지치셨다면 2센트입니다.

https://apps.apple.com/it/app/hmac-sha256generator/id6448465719?l=en

관련 정보