【问题标题】:bash script to run various openssl ciphers to decrypt filebash脚本运行各种openssl密码来解密文件
【发布时间】:2015-12-02 14:15:19
【问题描述】:

我对 Linux 和脚本非常陌生,但我想创建一个运行 openssl 的脚本来测试各种密码。我知道密码,我知道它是用openssl 加密的,但我不知道使用的是哪个密码。我一直在尝试通过每次手动更改密码来尝试此操作,但我认为了解脚本如何做到这一点可能值得弄清楚。 我一直使用的命令是

openssl bf -d -in file.enc -out file.dcrypt 

这会提示我输入密码。 我有一个文本文件,其中包含我希望在一行中尝试的所有密码。

我想循环操作并遍历每个密码以查看哪个有效。最好将变量显示为 dcrypt 文件名的一部分。 是伪代码

start loop n(first line in txt file to eof)
openssl 'n' -d -in file.enc -out file.dcrypt.n (a way to add the password?)
exit eof

任何帮助将不胜感激。

【问题讨论】:

    标签: linux bash loops


    【解决方案1】:

    所以在玩了一个简单的循环之后,我想出了这个。它有效,我对解决方案的直接性感到非常惊讶。不确定这是否是最好的解决方案,但它有效!我可以更改我运行的每个脚本的输出目录,这样我的结果就不会相互覆盖。 Ciphers.txt 每行包含一个密码格式

    #!/bin/bash
    #script to automate openssl testing
    while read p; do
    
    openssl $p -d -in encrypted.txt -out test1234/$p.jpg -pass pass:1234
    done <ciphers.txt
    

    感谢任何 cmets 或批评。

    【讨论】:

    • 这将遍历文件中的每一行,即使第一行有效。你应该检查openssl的退出状态(命令运行后将存储在$?)和exit是否为0,表示成功。
    猜你喜欢
    • 2014-12-08
    • 2019-11-06
    • 2018-12-30
    • 1970-01-01
    • 2018-07-05
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    相关资源
    最近更新 更多