91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python實現的排列組合、破解密碼算法

發布時間:2021-04-07 10:39:35 來源:億速云 閱讀:288 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關如何使用Python實現的排列組合、破解密碼算法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

具體如下:

排列組合(破解密碼)

1.排列

itertools.permutations(iterable,n)

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

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.組合

itertools.combinations(iterable,n)

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

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.排列組合

itertools.product(iterable,repeat=1)

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

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

擴展:現在但凡涉及到密碼,一般都會進行加密處理,常用的加密方式有MD5,RSA,DES等

4.瘋狂破解密碼

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

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實現的排列組合、破解密碼算法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安国市| 兴仁县| 西盟| 兰州市| 神木县| 都兰县| 西充县| 沙雅县| 崇文区| 社会| 玉溪市| 凤凰县| 夏津县| 长乐市| 阜新| 黎川县| 高阳县| 新郑市| 如皋市| 高清| 韶关市| 井陉县| 南宁市| 新干县| 舟曲县| 连云港市| 昭平县| 望谟县| 华蓥市| 陕西省| 静海县| 曲沃县| 鄂托克前旗| 武城县| 福建省| 景洪市| 株洲市| 汉川市| 辽阳县| 长白| 虞城县|