我忘记了我在 Linux 上的 gpg 密钥的密码。有人可以帮我写一个简单的脚本来使用暴力破解密钥吗?我记得密码中可能包含的一些单词,所以希望我的电脑用不了多久就可以暴力破解它。
如果我无法恢复密码,一切都不会丢失,这只是意味着我将无法在接下来的 10 天内处理我的项目,直到我重新开始工作以获取文件的另一个副本,但这次是我会记住密码的新密钥。
但是,如果能够在这 10 天内完成我的项目,那就太好了。
我忘记了我在 Linux 上的 gpg 密钥的密码。有人可以帮我写一个简单的脚本来使用暴力破解密钥吗?我记得密码中可能包含的一些单词,所以希望我的电脑用不了多久就可以暴力破解它。
如果我无法恢复密码,一切都不会丢失,这只是意味着我将无法在接下来的 10 天内处理我的项目,直到我重新开始工作以获取文件的另一个副本,但这次是我会记住密码的新密钥。
但是,如果能够在这 10 天内完成我的项目,那就太好了。
Maybe something like:
#!/bin/bash
#
# try all word in words.txt
for word in $(cat words.txt); do
# try to decrypt with word
echo "${word}" | gpg --passphrase-fd 0 --no-tty --decrypt somegpgfile.gpg --output somegpgfile;
# if decrypt is successfull; stop
if [ $? -eq 0 ]; then
echo "GPG passphrase is: ${word}";
exit 0;
fi
done;
exit 1;
1) 脚本不会简单,至少你想象的“简单”。
2) 这需要很长时间——这就是使用密码短语而不是简单密码的关键。花时间编写这样的脚本,将可能出现在短语中或未出现在短语中的单词结合起来,再加上反复尝试可能需要十天以上的时间。
3)您可能也会忘记下一个密码。
4)哎呀!
对不起,伙计,是时候开始一个新项目了(至少在接下来的十天里消磨时间——我建议使用密码破解器作为一种理想的分散注意力的方法。)
圣诞节快乐!
-Oisin
Tersmitten 的回答可能已经过时了。
echo "${word}" | gpg --passphrase-fd 0 -q --batch --allow-multiple-messages --no-tty --output the_decrypted_file -d /some/input/file.gpg;
我将上述代码与 gpg 2.0.20 和 libcrypt 1.5.2 一起使用以达到预期的效果。