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. iOS与Html5和JS之间的交互---学习笔记五

    首先采用的框架是WebViewJavascriptBridge,采用这套框架可以方便的使iOS与JS交互 一. 流程图(主要介绍思路) 二.iOS端如何使用 首先导入#import "Web ...

  2. C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 远程同步服务器大量基础数据到客户端

    服务器上保存有上万条的基础数据,需要同步到全国各地的成千上万个客户端,而且这些基础数据也经常在有变化调整.这时候需要有一个稳定的数据同步程序,能分批同步基础数据,由于网络流量,网络的稳定性等因素,需要 ...

  3. bash shell

    Linux的shell 与windows只有一种批处理脚本不同,由于早年的Unix年代,发展者众,出现了各种不同的distribution,因此也随着不同的distribution出现了各自的shel ...

  4. Spring WebService 和 搜索

    参考文章: http://blog.csdn.net/kkdelta/article/details/7290769 云计算中主流的Web服务有两种: 1.WebService.内容比较沉重,技术人员 ...

  5. knockoutJS学习笔记09:使用mapping插件

    一.问题引出 通常,我们先定义好html结构或者模板,通过ajax向后台发起请求,后台返回json数据,然后再将json数据渲染到页面上.以博客园个人博客里的个人信息为例子,如图: 1.定义html. ...

  6. Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能

    Caliburn.Micro学习笔记目录 说一下IHandle<T>实现多语言功能 因为Caliburn.Micro是基于MvvM的UI与codebehind分离, binding可以是双 ...

  7. itertools

    0. Python中引入itertools 1. 笛卡尔积: product(iter1, iter2,...,iterN,[repeat=i]) from itertools import prod ...

  8. RFID-RC522、FM1702SL、M1卡初探

    catalogue . 引言 . RC522芯片(读卡器)简介 . FM1702SL芯片(读卡器)简介 . RFID M1卡简介 . 读取ID/序列号(arduino uno.MFRC522芯片 Ba ...

  9. C#的访问级别

    可访问性级别有 public                       访问不受限制.  protected                 访问仅限于包含类或从包含类派生的类型.  interna ...

  10. 【Beta】Scrum03

    Info 时间:2016.12.01 21:30 时长:15min 地点:大运村1号公寓5楼楼道 类型:日常Scrum会议 NXT:2016.12.04 21:30 Task Report Name ...