xxd 在 Mac 上将十六进制文件转换为 32 字节的二进制文件,在繁忙的机器上将其转换为 30 字节? 忙框中的二进制Mac OS Big Sur 中的二进制

问题描述

我正在使用 xxd 转换包含以下十六进制私钥的文件

608e9b6f67c65e47531e08e8e501386dfae63a540fa3c48802c8aad854510b4e

简单的

xxd -r -p hex > bin

此命令在 Mac OS Big Sur xxd V1.10 27oct98 by Juergen Weigert生成一个 32 字节的二进制文件,并在繁忙的盒子 docker 映像 BusyBox v1.33.1 (2021-06-07 17:33:50 UTC)生成 30 个字节我不知道为什么?

它应该在忙框上生成一个 32 字节的二进制文件

更新 #1 十六进制(二进制文件的十六进制转储)

忙框中的二进制

00000000  60 8e 9b 6f 67 c6 5e 47  53 1e 08 e8 e5 01 38 6d  |`..og.^GS.....8m|
00000010  fa e6 3a 54 0f a3 c4 88  02 c8 aa d8 54 51        |..:T........TQ|
0000001e

Mac OS Big Sur 中的二进制

00000000  60 8e 9b 6f 67 c6 5e 47  53 1e 08 e8 e5 01 38 6d  |`..og.^GS.....8m|
00000010  fa e6 3a 54 0f a3 c4 88  02 c8 aa d8 54 51 0b 4e  |..:T........TQ.N|
00000020

解决方法

我想通了。在 xxd busybox 实现中,参数 -c 默认为 30,将其更改为 32,给出与 Mac OS Big Sur 相同的结果:

xxd -r -p -c 32 hex > bin