shell脚本实现MD5破解的相关小计

分享编写shell脚本暴力破解md5的方法

方法一

单个破解法(以10位数为例)

#!/bin/bash

read -p “please input strings:”
string

for n in {0..33000}

do

Md5=`echo $n |md5sum|cut -c 1-10`

      if [ “${Md5}” == “$string” ]

          
then

               echo “$n is sure”

               exit

          
else

               echo “$n is no”

       
fi

done

但是效率很低,不太建议使用。很费时间,匹配时每个都要匹配一遍,匹配下一个,又要从新开始效率低。

方法二

类似于密码表的对照方法,首先生成密码表,然后在匹配。这样效率大大提升

首先生成密码表,编写脚本,内容如下(总生成了33000个随机数,如果需要,可以自行调节,增加或者减少,同样,随机数位数也可以调整)

#!/bin/bash

 

for i in `seq 1  33000`#可以调整生成数的个数

do

 

    
a=`echo $i|md5sum|cut -c 1-10`#可以调整生成数的位数

    
echo $i $a >> byq.db

 

done

 

生成后可以使用,匹配脚本如下,输入随机字符串即可

#!/bin/bash

read -p “please input some
strings:” n

 

echo `grep $n byq.db`|cut -d ” ”
-f1

 

以上内容仅供参考,比较浅显的破解方法,适合我这种初学的人,若是有更好的方法,欢迎各位大神交流指正!

原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/71773

(2)
oranixoranix
上一篇 2017-03-26
下一篇 2017-03-26

相关推荐

  • iptables练习

    iptables练习 一、COMMAND 1、列出所有链的规则:iptables -L ,显示某条链的规则就是iptables -L INPUT 详细信息:iptables -vnL 2、清楚所有链的规则 :iptables -F 3、设置默认规则策略:iptables -P INPUT DROP,iptables -P OUTPUT DROP , ipta…

    Linux干货 2016-12-20
  • Linux系统用户与组管理命令及配置文件总结

    一、Linux系统用户及组分类 1、用户类别 Linux系统中的用户大致可分为三类:root用户、系统用户、普通用户。每一个用户都拥有一个唯一的身份标识UID。 2、组分类 与用户信息对应的,Linux系统中的组也可分为三类:root组、系统组、普通组。每一个组也有一个对应的唯一标识GID。 需要说明的是,UID和GID为0的用户对应的就是固定的root,即…

    Linux干货 2016-10-23
  • 利用 yum 查找某个命令属于哪个包

    当我们在安装一个不熟悉的命令是,会遇到个问题:Error: Nothing to do 而你又不知道该命令的是属于哪个rom包,莫慌~我们可以借助一个叫yum的基于rpm的软件包管理器。 以 dig 这个命令为例,当我安装它时会出现如下情况  [root@localhost ~]# yum install dig  Loaded plug…

    Linux干货 2016-03-27
  • N25 The first week –Yorick

    1.计算机的组成及功能 ENIARC:冯诺依曼体系 1.1.运算器(所属CPU)     进行计算 1.2.控制器(所属CPU)     控制部件之间的协调,包括寻址操作     辅助性存储(加速与提升CPU性能)     寄存器(锁存数据)     缓存(缓…

    Linux干货 2016-12-04
  • Linux文件查找工具之find “大宝剑”

    一、文件查找工具常用软件 locate:     locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令…

    Linux干货 2016-03-12
  • 数组、变量及bash的配置

    数组、变量及bash的配置 变量:存储单个元素的内存空间 数组:存储多个元素的内存空间,相当于多个变量集合 索引:编号从0开始,属于数值索引,索引为自定义格式即为关联数组(bash4.0之后支持) bash数组支持稀疏格式 数组的声明 普通数组declare –a 关联数组 declare –A 普通数组可以不声明直接使用,关联数组必须先声明再使用 数组的赋…

    Linux干货 2016-08-26