在bash中解密3des cfb字符串

时间:2014-03-19 17:02:34

标签: bash encryption openssl 3des

我想使用openssl解密一个字符串,但它一直在说: 非十六进制数字 无效的十六进制iv值

我正在使用此命令:

openssl enc -d -in crypt -out file.txt -K mypas -iv iv.txt -p -des-ede3-cfb

mypas = 1D5sqZr QEG5ZEY54shhGE9

iv.txt = 2cd3e7471d9da0ef

crypt = 25cc14697f9f2106adcf2e48

我做错了什么?

字符串在CFB模式下加密3DES。

提前致谢:)

1 个答案:

答案 0 :(得分:1)

来自openssl enc --help

-K/-iv         key/iv in hex is the next argument

您必须以十六进制指定iv和键。不是文件名。

我无法理解您的数据,但这是一个例子:

$ od -t x1 file.bin
0000000 43 f7 fd 5b 39 fd 5c 70 66 d2 8f 67 2a 5d fd
0000017

$ openssl enc -d -in file.bin -out file.txt \
    -K 4C4F4C4F4C4F4C4F4C4F4C4F4C4F4C4F4C4F4C4F4C4F4C4F \
    -iv 524f464c524f464c -p -des-ede3-cfb
salt=B8FCBCBF6448EAB7
key=4C4F4C4F4C4F4C4F4C4F4C4F4C4F4C4F4C4F4C4F4C4F4C4F
iv =524F464C524F464C

$ cat file.txt
this is a test