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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美做受| 四虎影视在线观看2413 | a级成人毛片免费图片 | 羞羞影院午夜男女爽爽影院网站 | ai换脸明星造梦工厂忘忧草 | 日本68xxxxxxxxx59 日本 视频 在线 | 日本高清在线播放 | 美女靠逼动漫 | 按摩师他揉我奶好爽捏我奶 | 亚洲成人一区在线 | 成年人黄视频在线观看 | 免费理伦片手机在线播放 | 色吧导航 | 九九99亚洲精品久久久久 | 成年人在线免费看 | 国产成人综合一区精品 | 欧美色阁 | 18国产精品白浆在线观看免费 | 魔法满屋免费观看完整版中文 | 国产成人lu在线视频 | 久久水蜜桃亚洲AV无码精品偷窥 | 国产精品福利在线观看免费不卡 | 无码毛片内射白浆视频 | 四虎精品视频在线永久免费观看 | 国产日产欧产精品精品软件 | 饭冈加奈子黑人解禁在线播放 | 韩国漂亮美女三级在线观看 | 6080伦理久久精品亚洲 | 日本一卡二卡3卡四卡无卡网址 | 亚州成人 | 亚洲天堂男人天堂 | 114级毛片免费观看 1024亚洲天堂 | 国模人体aⅴ | 九九九国产在线 | 日韩毛片在线影视 | 成人精品一区二区三区 | 久久精品99国产精品日本 | 久久sese| 亚洲老头与老太hd | 青草青青在线视频 | 亚洲免费视频一区二区三区 |