十六进制在输出中有未知字符 /

十六进制在输出中有未知字符 /

我需要创建一个Rc2Key变量,然后将其转换为十六进制。我已经用两个命令完成了此操作。该Rc2Key变量必须为 16 个字符长,因此在我的测试模块中,我使用“DummyRC2Key1”作为Rc2Key.

Rc2Key="DummyRC2Key1"

HexRc2Key=$(printf "${Rc2Key}" | xxd -p)

完成后,我需要用 8 个0s 填充 CTF 键。我使用以下命令执行此操作,并将此填充列表输出到 CTFpadlist.csv

zeros=00000000

while read CTFlist; do echo $CTFlist$zeros; done < CTFlist.csv > CTFpadlist.csv

使用填充的 CTF 和HexRc2Key,我需要加密 CTFpadlist.csv

while read CTFpadlist; do echo -n "$CTFpadlist" | xxd -r -p | openssl enc -rc2-cbc -nopad -K "${HexRc2Key}" -iv 0000000000000000 | xxd -plain | tr d '/n'; done < CTFpadlist.csv > EncCTFlist.csv

问题是这样的——我的十六进制结果带有“/”,如下所示:

24a8/be115/59a9/c62bbfe6249fbc/44af127fcf97a0a43

这不是可接受的十六​​进制。我在这里做错了什么?

答案1

而不是

tr d '/n'; 

你可能的意思是

tr -d '\n'; 

相关内容