激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python實(shí)現(xiàn)的排列組合、破解密碼算法示例

Python實(shí)現(xiàn)的排列組合、破解密碼算法示例

2021-06-15 00:49微信1257309054 Python

這篇文章主要介紹了Python實(shí)現(xiàn)的排列組合、破解密碼算法,結(jié)合實(shí)例形式分析了Python排列組合、密碼破解相關(guān)數(shù)學(xué)運(yùn)算操作技巧,需要的朋友可以參考下

本文實(shí)例講述了python實(shí)現(xiàn)的排列組合、破解密碼算法。分享給大家供大家參考,具體如下:

排列組合(破解密碼)

1.排列

?
1
itertools.permutations(iterable,n)

參數(shù)一:要排列的序列,
參數(shù)二:要選取的個(gè)數(shù)
返回的是一個(gè)迭代對(duì)象,迭代器中的每一個(gè)元素都是一個(gè)元組

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import itertools
#概念:從n個(gè)不同元素中取出m(m≤n)個(gè)元素,按照一定的順序排成一列,叫做從n個(gè)元素中取出m個(gè)元素的一個(gè)排列(arrangement)。特別地,當(dāng)m=n時(shí),這個(gè)排列被稱作全排列(permutation)
'''
1 2 3 4
假設(shè)從中取出3個(gè)數(shù)字
123
132
213
231
321
312
'''
#需求:從[1,2,3,4]4個(gè)數(shù)中隨機(jī)取出3個(gè)數(shù)進(jìn)行排列
mylist = list(itertools.permutations([1,2,3,4], 3))
print(mylist)
print(len(mylist))
'''
規(guī)律總結(jié):
4 - 3  24
4 - 2  12
4 - 1  4
排列的可能性次數(shù):n! / (n-m)!
'''

2.組合

?
1
itertools.combinations(iterable,n)

參數(shù)一:可迭代對(duì)象
參數(shù)二:要選取的個(gè)數(shù)
返回值:返回一二迭代器,迭代器中的每一個(gè)元素都是一個(gè)元組

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import itertools
#概念:從m個(gè)不同的元素中,任取n(n≤m)個(gè)元素為一組,叫作從m個(gè)不同元素中取出n個(gè)元素的進(jìn)行組合
'''
1 2 3 4 5 中選4個(gè)數(shù)的組合方式有幾種?
'''
mylist = list(itertools.combinations([1,2,3,4,5], 4))
print(mylist)
print(len(mylist))
'''
規(guī)律總結(jié):
m  n
5 - 5  1
5 - 4  5
5 - 3  10
5 - 2  10
5!
120/120(m-n)!
120/24(m-n)!
120/6(m-n)!
m!/(n!x(m-n)!)
'''

3.排列組合

?
1
itertools.product(iterable,repeat=1)

參數(shù)一:可迭代對(duì)象,參數(shù)二:重復(fù)的次數(shù),默認(rèn)為1

?
1
2
3
4
5
6
7
8
9
import itertools
'''
_ _ _ _ _
'''
mylist = list(itertools.product("0123456789qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm", repeat=6))
#可以嘗試10,有可能電腦會(huì)卡住
#多線程也不行,電腦內(nèi)存不夠,咋處理都白搭
#print(mylist)
print(len(mylist))

擴(kuò)展:現(xiàn)在但凡涉及到密碼,一般都會(huì)進(jìn)行加密處理,常用的加密方式有md5,rsa,des等

4.瘋狂破解密碼

傷敵一千自損一萬的破解方式

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import time
import itertools
#mylist = list(itertools.product("0123456789", repeat=10))
passwd = ("".join(x) for x in itertools.product("0123456789qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm", repeat=6))
#print(mylist)
#print(len(mylist))
while true:
  #先直接實(shí)現(xiàn),然后再添加異常
  try:
    str = next(passwd)
    time.sleep(0.5)
    print(str)
  except stopiteration as e:
    break

希望本文所述對(duì)大家python程序設(shè)計(jì)有所幫助。

原文鏈接:https://blog.csdn.net/lm_is_dc/article/details/80174742

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美成网 | 99久久免费看精品国产一区 | 国产一区二区三区高清 | av免费在线网 | 91懂色 | 逼片 | 免费淫视频| 久久国产精品电影 | 亚洲国产精品久久久久制服红楼梦 | 欧美在线中文字幕 | 一区二区三区日 | 日本在线不卡免费 | 九色p| 91午夜在线观看 | 毛片大全在线观看 | 亚洲成人在线免费 | 成人午夜一区 | 最新av在线免费观看 | 国产日韩在线观看一区 | 亚洲午夜激情网 | 一级做受毛片免费大片 | 在线视频1区 | 日本在线不卡免费 | 日韩视频在线观看免费 | 黄在线观看在线播放720p | av电影免费看 | 日本黄色大片免费 | 免费人成年短视频在线观看网站 | 男人的天堂视频网站 | 色婷婷久久一区二区 | 久久精品日产高清版的功能介绍 | 久久国产在线观看 | 91真视频| 久久美女免费视频 | 99riav9| 久久91亚洲精品久久91综合 | 国产成人自拍视频在线 | 在线成人一区二区 | 成人久久久精品国产乱码一区二区 | 欧美精品免费一区二区三区 | 欧产日产国产精品v |