我需要创建一个Rc2Key
变量,然后将其转换为十六进制。我已经用两个命令完成了此操作。该Rc2Key
变量必须为 16 个字符长,因此在我的测试模块中,我使用“DummyRC2Key1”作为Rc2Key
.
Rc2Key="DummyRC2Key1"
HexRc2Key=$(printf "${Rc2Key}" | xxd -p)
完成后,我需要用 8 个0
s 填充 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';