Преобразование шестнадцатеричной информации в двоичную с помощью команды Linux

91

У меня есть этот двоичный файл в моей системе Linux ...

 udit@udit-Dabba ~ $ cat file.enc
 Salted__s�bO��<0�F���Jw!���]�:`C�LKȆ�l

Используя команду hexdump, я вижу такую ​​информацию:

 udit@udit-Dabba ~ $ hexdump -C file.enc
 00000000  53 61 6c 74 65 64 5f 5f  1b 73 a1 62 4f 15 be f6  |Salted__.s.bO...|
 00000010  3c 30 cc 46 ee 10 13 11  84 bf 4a 77 21 a4 84 99  |<0.F......Jw!...|
 00000020  0e 5d ef 11 18 3a 60 43  a0 4c 4b 1e c8 86 e6 6c  |.]...:`C.LK....l|
 00000030

Теперь мне дали файл в какой-то другой системе, содержимое которого выглядит так:

 53 61 6c 74 65 64 5f 5f  1b 73 a1 62 4f 15 be f6
 3c 30 cc 46 ee 10 13 11  84 bf 4a 77 21 a4 84 99
 0e 5d ef 11 18 3a 60 43  a0 4c 4b 1e c8 86 e6 6c

И мне нужно узнать ту же самую точную двоичную информацию из этого шестнадцатеричного дампа.

Что я могу сделать для этого?

Если для этого нет переключателя, код C также будет работать нормально.

(Но предпочтительнее команда Linux с некоторым переключателем)

Ограничение:

Двоичная информация в файле выводится алгоритмом шифрования, поэтому содержимое должно точно совпадать ...

Удит Гупта
источник
12
Взгляните на xxd
user786653
@ user786653 Thnx Это помогло, о чем я знал, -rно не знал, и -pвскоре понадобился ... поэтому опубликовал вопрос
Удит Гупта
1
Об этом же предмете см. Также: stackoverflow.com/questions/2614764/hex-dump-of-file-in-bash
Ив Мартин

Ответы:

148

Как предложил @ user786653, используйте xxd(1)программу:

xxd -r -p input.txt output.bin
Адам Розенфилд
источник
8
чтобы добавить использование echo "hex" | xxd -r -p - для получения входных данных из стандартного вывода
Amanpreet
3
Может также использоваться для получения бинарных хэшей - какecho something | sha256sum | xxd -r -p -
xdevs23
Помог мне преобразовать шестнадцатеричный формат в bin для файлов PDF
Каймаз