用于解密文件夹内所有文件的Bash脚本

时间:2015-02-02 05:06:56

标签: bash encryption openssl

我正在使用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是段号的十六进制值,对每个文件都会改变。

请帮助我真的被困在这里。

此致 阿迪

1 个答案:

答案 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