Python是一款非常强大的语言。用于测试时它非常有效,因此Python越来越受到欢迎。

因此,在此次教程中我将聊一聊如何在Python中生成字典,并将它用于任何你想要的用途。

前提要求

1,Python 2.7(对于Python 3.x的版本基本相同,你只需要做一些微小调整)

2,Peace of mine(作者开的一个玩笑,这是一首歌名)

如果你用virtualenv搭建Python开发环境,请确保已经安装了itertools。因为我们将会用到itertools生成字典。我们将一步一步地演示整个过程,所以请跟着本文学习,不要仅仅是复制粘贴所有代码。

生成字典

新建一个名为”dicgen.py”的文件,并用你最顺手的文本编辑器打开它。

首先我们要调用itertools。

我使用了itertools as itr,可以少打一些字。在调用了itertools之后,我们进入下一步。

我们需要选择一些关键词形成一些组合来生成所需的字典。把这些关键词交给itertools提供的方法来生成字典。

寻找合适的关键词需要一些小窍门。举个例子,我忘记了一个用来管理服务器的文件密码(.php)。我需要输入用户名和密码来打开这个文件,才可以对我的服务器进行修改。我也忘记了cpanel的登录信息。因此我决定暴力破解密码。我记得用户名,但是密码记得不是很清楚,而且手动尝试了所有组合但都不正确。因此我在Python里写了一个脚本去生成密码并登录。我手头上有一些密码的线索,比如它是长度为六位,仅是字母组合,不包含数字或特殊符号。

让我们回到教程中来。假设要生成一个六位长度,并且仅含有字母的密码(大小写混合)。

我们一点一点地来讲解这段代码。

words变量是我们希望在密码中尝试的字符。在本例中,这些字符就是字母表中的大写和小写字母。所以我们在这里添加了所有的大写、小写字母。

itr.product(words, repeat=6)是这段代码最主要的部分,从给定的字母表中返回选择的列表。由于本例中密码长度为六位,所以此处设定了重复6次(repeat=6)。

我们把这个过程循环6次,确保每个字母列表都被加入到主列表中。

我们再把所有生成的密码都放到一个列表里,看看能有多少种组合。但现在还别运行它,否则你的电脑可能会死机。

我们建议你在密码生成后立即使用它,或者将它储存在一个文档里。这只是一个基本。在下一个教程里我们会更多地了解如何根据我们的需求更高效地生成密码。

下面是完整代码。

参考网址:python.freelycode.com

利用Python自动生成暴力破解的字典的更多相关文章

  1. 忘记秘密利用python模拟登录暴力破解秘密

    忘记秘密利用python模拟登录暴力破解秘密: #encoding=utf-8 import itertools import string import requests def gen_pwd_f ...

  2. 利用python自动生成verilog模块例化模板

    一.前言 初入职场,一直忙着熟悉工作,就没什么时间更新博客.今天受“利奇马”的影响,只好宅在家中,写写技术文章.芯片设计规模日益庞大,编写脚本成了芯片开发人员必要的软技能.模块端口动不动就几十上百个, ...

  3. python笔记 利用python 自动生成条形码 二维码

    1. ean13标准条形码 from pystrich.ean13 import EAN13Encoder encode = EAN13Encoder(') encode.save('d:/barco ...

  4. Python自动生成代码工具

    项目中有一个需求,对一个基类而言,拥有一个比较方法和拷贝方法,某些地方需要频繁地对这两个方法进行调用.对于所有子类而言,需要重写这两个方法,并在其中维护类内一些成员变量.例如有一个变量m_iMyVal ...

  5. 【机器学习PAI实战】—— 玩转人工智能之利用GAN自动生成二次元头像

    前言 深度学习作为人工智能的重要手段,迎来了爆发,在NLP.CV.物联网.无人机等多个领域都发挥了非常重要的作用.最近几年,各种深度学习算法层出不穷, Generative Adverarial Ne ...

  6. 防止WordPress利用xmlrpc.php进行暴力破解以及DDoS

    早在2012 年 12 月 17 日一些采用 PHP 的知名博客程序 WordPress被曝光存在严重的漏洞,该漏洞覆盖WordPress 全部已发布的版本(包括WordPress 3.8.1).该漏 ...

  7. 从用python自动生成.h的头文件集合和类声明集合到用python读写文件

    最近在用python自动生成c++的类.因为这些类会根据需求不同产生不同的类,所以需要用python自动生成.由于会产生大量的类,而且这些类是变化的.所以如果是在某个.h中要用include来加载这些 ...

  8. [06] 利用mybatis-generator自动生成代码

    1.mybatis-generator 概述 MyBatis官方提供了逆向工程 mybatis-generator,可以针对数据库表自动生成MyBatis执行所需要的代码(如Mapper.java.M ...

  9. 利用Python 脚本生成 .h5 文件 代码

    利用Python 脚本生成 .h5 文件 import os, json, argparse from threading import Thread from Queue import Queue ...

随机推荐

  1. python-面向对象进阶

    小总结: 面向对象的好处 更容易扩展,提高代码的使用效率,使代码组织性更强.更清晰,更适合复杂项目的开发 封装:把功能的实现细节封装起来,之暴露调用接口  多态:接口的继承 定义:  类  :  模板 ...

  2. WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

    http://dl.bintray.com/sequenceiq/sequenceiq-bin/ http://www.secdoctor.com/html/yyjs/31101.html

  3. 微信小程序之页面路由(九)

    [未经允许,请勿以任何形式转载] 什么是路由? 我们通常理解的路由指分组数据包从源到目的地时,决定端到端路径的网络范围的进程: 借用上面的定义,我们可以理解小程序页面路由,根据路由规则(路径)从一个页 ...

  4. [CareerCup] 5.7 Find Missing Integer 查找丢失的数

    5.7 An array A contains all the integers from 0 to n, except for one number which is missing. In thi ...

  5. sql语句 in的教训

    如果子查询条件数据量特别大的话,千万不要用子查询.

  6. add添加

    s = {1,2,3,4,5,6,} 进行添加数据! s = {1,2,3,4,5,6,} s.add('s')#添加字符串's' s.add('3')#添加字符串'3' s.add(3)#添加3和字 ...

  7. iOS地图 -- 地理编码和反地理编码

    地理编码和反地理编码 用到的类和方法 CLGeocoder --> 地理编码管理器 - (void)geocodeAddressString:(NSString *)addressString ...

  8. ssh中org.springframework.orm.hibernate4.support.OpenSessionInViewFilter的作用及配置

     org.springframework.orm.hibernate4.support.OpenSessionInViewFilter 是Spring为我们解决Hibernate的Session的关闭 ...

  9. VB.net Wcf事件广播(订阅、发布)

    这篇东西原写在csdn.net上,最近新开通了博客想把零散在各处的都转移到一处.   一.源起 学WCF有一段时间了,可是无论是微软的WebCast还是其他网上的教程,亦或我购买的几本书中,都没有怎么 ...

  10. 关于redis的keys命令的性能问题

    KEYS pattern 查找所有符合给定模式 pattern 的 key . KEYS * 匹配数据库中所有 key . KEYS h?llo 匹配 hello , hallo 和 hxllo 等. ...