一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

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

服務器之家 - 腳本之家 - Python - Python實現的排列組合、破解密碼算法示例

Python實現的排列組合、破解密碼算法示例

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

這篇文章主要介紹了Python實現的排列組合、破解密碼算法,結合實例形式分析了Python排列組合、密碼破解相關數學運算操作技巧,需要的朋友可以參考下

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

排列組合(破解密碼)

1.排列

?
1
itertools.permutations(iterable,n)

參數一:要排列的序列,
參數二:要選取的個數
返回的是一個迭代對象,迭代器中的每一個元素都是一個元組

?
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個不同元素中取出m(m≤n)個元素,按照一定的順序排成一列,叫做從n個元素中取出m個元素的一個排列(arrangement)。特別地,當m=n時,這個排列被稱作全排列(permutation)
'''
1 2 3 4
假設從中取出3個數字
123
132
213
231
321
312
'''
#需求:從[1,2,3,4]4個數中隨機取出3個數進行排列
mylist = list(itertools.permutations([1,2,3,4], 3))
print(mylist)
print(len(mylist))
'''
規律總結:
4 - 3  24
4 - 2  12
4 - 1  4
排列的可能性次數:n! / (n-m)!
'''

2.組合

?
1
itertools.combinations(iterable,n)

參數一:可迭代對象
參數二:要選取的個數
返回值:返回一二迭代器,迭代器中的每一個元素都是一個元組

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import itertools
#概念:從m個不同的元素中,任取n(n≤m)個元素為一組,叫作從m個不同元素中取出n個元素的進行組合
'''
1 2 3 4 5 中選4個數的組合方式有幾種?
'''
mylist = list(itertools.combinations([1,2,3,4,5], 4))
print(mylist)
print(len(mylist))
'''
規律總結:
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)

參數一:可迭代對象,參數二:重復的次數,默認為1

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

擴展:現在但凡涉及到密碼,一般都會進行加密處理,常用的加密方式有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:
  #先直接實現,然后再添加異常
  try:
    str = next(passwd)
    time.sleep(0.5)
    print(str)
  except stopiteration as e:
    break

希望本文所述對大家python程序設計有所幫助。

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本免费在线观看视频 | 羞羞视频动漫 | 青草草视频在线观看 | 成人免费网址 | 欧美日韩国产精品自在自线 | 国产亚洲女在线精品 | 深夜网站在线观看 | 日本久本草精品 | 99精品国产在现线免费 | 無码一区中文字幕少妇熟女H | 久久久久琪琪精品色 | 我和子伦系列小说 | 日韩在线资源 | 色综合天天五月色 | 欧美乱子伦xxxx12在线 | 国产成人无精品久久久 | 日本视频观看 | 国产最新精品视频 | 明星裸乳照无奶罩 | 日日精品| 我把校花黑色蕾丝胸罩脱了 | 日韩精品一区二区三区中文字幕 | 久久99热在线观看7 久久99精品涩AV毛片观看 | 精品久久久久久亚洲精品 | 99在线观看国产 | 亚洲精品成人AV在线观看爽翻 | 国产成+人+综合+亚洲欧美丁香花 | 国产精视频 | 国产精品自在线 | 四虎影院免费在线播放 | 波多野结衣女教师在线观看 | 国产首页精品 | 男人和女人日 | 久久久久久免费高清电影 | 男生操女生漫画 | 丝瓜香蕉视频 | fuqer日本老师 | 免费在线观看成年人视频 | 亚洲首页国产精品丝袜 | 欧洲网色偷偷亚洲男人的天堂 | 日本三级免费网站 |