我正在使用cygwin,我想要帮助创建一个bash脚本来解密文件夹中的所有文件。现在用于解密部分脚本应检查文件名中的段号(文件名如1_segment,2_segment等)和genrate该文件的十六进制值。现在解密如下所示。
openssl enc -aes-128-cbc -in 121_segment121_9_av.ts -out test.ts -d -K 443CEB41F639B41CE29D1507647A3737 -iv 00000000000000000000000000000079
K是每个文件都相同的键值 iv是段号的十六进制值,对每个文件都会改变。
请帮助我真的被困在这里。
此致 阿迪
答案 0 :(得分:0)
shopt -s globstar
for i in path/to/directory/**; do
segmentNo=$(echo "${i##*/}" | grep -o "^[0-9]*")
if [[ ! -f $i ]]; then
continue
elif [ "$segmentNo" == "" ]; then
echo "File $i does not start with a segment no"
continue
fi
hexVal=$(functionThatGeneratesHexFromInput "$segmentNo")
openssl enc -aes-128-cbc -in "$i" -out test.ts -d -K 443CEB41F639B41CE29D1507647A3737 -iv $hexVal
done