Вывести хэш sha1 из двоичного значения base64 openssl

пакеты цифрового кино содержат контрольные суммы в следующем формате, как описано здесь:

$ openssl sha1  -binary 'dcpfile.xml' |openssl base64
IxcfhXNHlw+1bbDFu0kp8KRylpU=

как я могу принять такое значение, как IxcfhXNHlw+1bbDFu0kp8KRylpU= и вывести исходный хэш sha1, который будет выглядеть примерно так

$ openssl sha1 'dcpfile.xml' 
SHA1(dcpfile.xml)= 23171f857347970fb56db0c5bb4929f0a4729695

мой вариант использования заключается в том, что существует не так много инструментов проверки контрольной суммы, которые легко позволяют проверить манифест контрольной суммы типа md5sum, который использует эти двоичные значения/base64, но есть много инструментов, которые проверяют sha1, поэтому было бы здорово, если бы я знал, как обратить эти значения, чтобы я мог написать скрипт, который будет генерировать более совместимый список хэшей.

4
задан Tandy Freeman
12.12.2022 10:21 Количество просмотров материала 2545
Распечатать страницу

1 ответ

оба значения тот же самый хэш - - те же " двоичные "байты, показанные в двух разных кодировках (представлениях), и ни один из них не является более" оригинальным", чем другой.

(Base64 имеет 6 бит на символ; шестнадцатеричный ака база-16 имеет 4 бита на цифру. Три необработанных байта, четыре цифры Base64, шесть шестнадцатеричных цифр конвертируются напрямую.)

почти каждый язык программирования будет иметь функции для кодирования/декодирования этих форматов. Например, в оболочке инструменты:

  • для декодирования Base64 в необработанные двоичные данные используйте base64 -d или openssl base64 -d.

  • для кодирования двоичных данных в шестнадцатеричном формате, использовать xxd -p или hexdump.

$ echo 23171f857347970fb56db0c5bb4929f0a4729695 | xxd -r -p | base64
IxcfhXNHlw+1bbDFu0kp8KRylpU=

$ echo IxcfhXNHlw+1bbDFu0kp8KRylpU= | base64 -d | hd
00000000  23 17 1f 85 73 47 97 0f  b5 6d b0 c5 bb 49 29 f0  |#...sG...m...I).|
00000010  a4 72 96 95                                       |.r..|
1
отвечен grawity 2022-12-13 18:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх