因為忘記當初設定銀行信用卡電子帳單的密碼了,只好自己嘗試看看有沒有辦法用程式蠻力找回來,但密碼的排列組合實在是太多了,只好先縮小到 8 位數字的組合,本來不抱太大希望,沒想到最後真的找回來了,雖然跑了超過 14 個小時。
package jia3;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Date;
import org.apache.pdfbox.pdmodel.PDDocument;
public class PdfPasswordCracking {
public static void main(String[] args) {
boolean flag = true;
int count = 00000000;
Path path = Paths.get("C:\\Users\\jtds7\\Downloads\\etatement.pdf");
byte[] data = null;
try {
data = Files.readAllBytes(path);
} catch (IOException e) {
e.printStackTrace();
System.exit(0);
}
System.out.println(new Date());
while (flag) {
flag = false;
count++;
if (count % 1000000 == 0)
System.out.println(new Date() + "\t" + count);
String password = String.format("%08d", count);
if (password.length() > 8) {
System.out.println(password);
break;
}
try {
PDDocument pdd = PDDocument.load(f, password);
} catch (IOException e) {
flag = true;
}
if (!flag) {
System.out.println("password:" + password);
}
}
}
}