使用 Linux 命令将十六进制信息转换为二进制
Posted
技术标签:
【中文标题】使用 Linux 命令将十六进制信息转换为二进制【英文标题】:Transform hexadecimal information to binary using a Linux command 【发布时间】:2011-12-11 05:01:30 【问题描述】:我的 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
我需要从这个 hexdump 中找出完全相同的二进制信息。
我该怎么做?
如果没有任何开关,那么 C 代码也可以正常工作。
(但最好是带有一些开关的 Linux 命令)
限制:
文件中的二进制信息是加密算法的输出,所以内容应该完全匹配...
【问题讨论】:
看看xxd @user786653 Thnx 它帮助我知道了-r
而不是-p
并且很快就需要它......所以发布了这个问题
关于同一主题,另见:***.com/questions/2614764/hex-dump-of-file-in-bash
【参考方案1】:
按照@user786653 的建议,使用xxd(1)
程序:
xxd -r -p input.txt output.bin
【讨论】:
添加使用echo "hex" | xxd -r -p -
从管道标准输出中获取输入
也可以用来获取二进制哈希值——比如echo something | sha256sum | xxd -r -p -
解释标志:explainshell.com/explain?cmd=xxd+-r+-p以上是关于使用 Linux 命令将十六进制信息转换为二进制的主要内容,如果未能解决你的问题,请参考以下文章