3
我在使用RC4算法我的脚本(写在bash)关于使用RC4使用十六进制密钥文件的加密问题
关键是还以二进制格式加密的二进制文件
以下是我在做什么:
echo -n -e $bPacketh > /tmp/packet
echo -n -e $clientWriteKeyb > /tmp/cwkey
mach=`openssl dgst -binary -hmac -md5 /tmp/cwkey /tmp/packet`
pkth=`openssl enc -e -rc4 -K /tmp/cwkey -in /tmp/packet`
的/ tmp /包和/ tmp目录/ cwkey的内容如下:
>cat /tmp/packet | od -t x1
0000000 86 09 94 8b cf 2d d3 99 94 9f 72 60 dd 3f a6 b6
0000020 01 00 00 00 13 0b 05 00 00 00 0c 73 73 68 2d 75
0000040 73 65 72 61 75 74 68 22 68 fb ab 5e 4d 1b 2b 61
0000060 bd 38
0000062
>cat /tmp/cwkey | od -t x1
0000000 5d c5 45 a8 2b 44 5d 2f 49 67 f5 71 73 a8 51 5c
0000020
的MAC运算指令成功,但加密的数据包计算命令提供了以下错误:
>openssl enc -e -rc4 -K /tmp/cwkey -in /tmp/packet
non-hex digit
invalid hex key value
我搜索通过论坛,发现关键的格式应为“0001020304 ......”但我不知道怎么我的钥匙(/ tmp目录/上述cwkey)转换成格式
请你,请帮我出