java实现各种密码破解---包括wifi,登录密码,验证码等等。
2018-02-15 10:50
1006 查看
该篇文章只介绍破解数字密码,其他字符密码的破解待下一篇文章再细说。
暴力破解密码系统
破解六位,七位,八位,九位,十位密码,先假设密码中只有数字
六位从000000一直尝试到999999直至是正确后终止,若不中途终止,则共执行10的6次方次,即
1000000,一百万次
七位从0000000尝试到9999999直至是正确密码后终止,若不中途终止,则共执行10的7次方次,即
10000000,一千万次
八位从00000000尝试到99999999直至是正确密码后终止,若不中途终止,则共执行10的8次方次,即100000000,一亿次
九位从000000000尝试到999999999直至是正确密码后终止,若不中途终止,则共执行10的9次方次,即1000000000,十亿次
十位从0000000000尝试到9999999999直至是正确密码后终止,若不中途终止,则共执行10的10次方次,即10000000000,一百亿次
为了保证0能够正常显示,这些数要是一个字符串,但要随时转化为整型以便加1自执行
需要注意的是,方法有了,问题是怎么将程序与其他软件系统比如QQ,微信,wifi相结合?我初步想了一下。如果是手机app的话,可以做一个类似于输入法之类的软件,当点击需要破解的密码框时,弹出该程序,进行遍历,最终遍历出密码打破循环后登录,实现破解密码登录。当然现如今像包括QQ微信在内这样的软件通过这样的方法破解密码几乎不可能,因为他们登录账户需要输入的信息不止密码这么简单,有时需要图片验证码等等的验证方式。我写这个也纯属在娱乐中学习尝试,并没有真正去盗号的想法。如果想看包括非纯数字密码的破解方法,请见下一篇文章,谢谢!
暴力破解密码系统
破解六位,七位,八位,九位,十位密码,先假设密码中只有数字
六位从000000一直尝试到999999直至是正确后终止,若不中途终止,则共执行10的6次方次,即
1000000,一百万次
七位从0000000尝试到9999999直至是正确密码后终止,若不中途终止,则共执行10的7次方次,即
10000000,一千万次
八位从00000000尝试到99999999直至是正确密码后终止,若不中途终止,则共执行10的8次方次,即100000000,一亿次
九位从000000000尝试到999999999直至是正确密码后终止,若不中途终止,则共执行10的9次方次,即1000000000,十亿次
十位从0000000000尝试到9999999999直至是正确密码后终止,若不中途终止,则共执行10的10次方次,即10000000000,一百亿次
为了保证0能够正常显示,这些数要是一个字符串,但要随时转化为整型以便加1自执行
//该方法实现如果字符串s的位数不够l个,则在其前补0,以够位数 //s:字符串,l字符串的长度,如s为1,l=6应写成000001,s=20,l=8应写成00000020 public String addZero(String s,int l){ if(s.length!=l){ for(int i=0;i<l-s.length;i++){ s="0"+s; } } return s; } //之所以将各位数分开,而不是直接用 //0-999999999是因为当六位数到999999后,直接 //是七位字符1000000,而实际还要经过0000000等 public static void main(String []args){ //打印所有 可能的 六位数密码000000-999999 String real ="303030";//用户设的密码 String s="";//破解出的密码, String p;//破解过程中产生的各位数 for(int i=0;i<=999999;i++){//暴力遍历出用户密码 //整型转为字符串可直接在其后加"" p= addZero(i+"",6); if (p.equals (real)){ s=p; System.out.println("执行"+(i+1)+"已破解该密码,为"+s); break; //退出循环 } System.out.println(p); } //六位数遍历完,同样方法遍历七位数 if(s.equals("")){//说明在六位数中未找到 for(int i=0;i<=9999999;i++){//暴力遍历出用户密码 //整型转为字符串可直接在其后加"" p= addZero(i+"",7); if (p.equals (real)){ s=p; System.out.println("执行"+(i+1)+"已破解该密码,为"+s); break; //退出循环 } System.out.println(p); } } //......其他位数与以上类似,在此不再一一赘述。其中如果是验证码的话,常见的有四位验证码和六位验证码,只需要执行 //对应位数的循环即可。 }
需要注意的是,方法有了,问题是怎么将程序与其他软件系统比如QQ,微信,wifi相结合?我初步想了一下。如果是手机app的话,可以做一个类似于输入法之类的软件,当点击需要破解的密码框时,弹出该程序,进行遍历,最终遍历出密码打破循环后登录,实现破解密码登录。当然现如今像包括QQ微信在内这样的软件通过这样的方法破解密码几乎不可能,因为他们登录账户需要输入的信息不止密码这么简单,有时需要图片验证码等等的验证方式。我写这个也纯属在娱乐中学习尝试,并没有真正去盗号的想法。如果想看包括非纯数字密码的破解方法,请见下一篇文章,谢谢!
相关文章推荐
- javascript+Java 实现MD5加密登录密码
- Java实现穷举密码登录FTP服务器
- 破解Access97密码的java实现
- java登录验证码实现代码
- 详解JAVA POI导出EXCEL报表的操作(包括各种格式及样式的实现)
- 网站登录密码忘记后,通过向手机发送验证码实现找回密码的实现方法
- java网络编程五:暴力法破解登录系统的完全实现(木子)
- Java实现登录验证码验证
- 【数据结构】用C++实现顺序表的各种操作(包括头删,尾删,插入,逆序,摧毁,清空等等)
- Java登录页面实时验证用户名密码和动态验证码
- 【数据结构】用C语言实现顺序表的各种操作(包括头删,尾删,插入,逆序,摧毁,清空等等)
- java语言实现的二叉树的各种操作(包括递归与非递归遍历二叉树,求二叉树的高度,节点总数,叶子节点等)
- java网络编程五:暴力法破解登录系统的完全实现(木子)
- java jsp实现登录验证码
- java实现登录验证码
- ios-day13-01(私人通讯录。控制器之间的数据传递、保存密码和自动登录的实现、普通对象的归档、UITableView的局部刷新和向左滑动删除功能等等)
- 如何实现共享软件网络授权认证,包括注册新用户、登录、修改密码等操作
- Java调用K3Cloud的密码加密算法实现登录密码检验
- 如何实现共享软件网络授权认证,包括注册新用户、登录、修改密码等操作
- 网站安全-java实现小型网站登录破解攻略