亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python隨機(jī)生成帶特殊字符的密碼

 更新時(shí)間:2016年03月02日 11:27:10   作者:mindg  
這篇文章主要介紹了Python隨機(jī)生成帶特殊字符的密碼的相關(guān)資料,需要的朋友可以參考下

在日常運(yùn)維中,如果涉及到用戶管理,就一定會(huì)用到給用戶設(shè)置密碼的工作,其實(shí)吧,平時(shí)腦子里覺得設(shè)置個(gè)密碼沒什么,但要真讓你隨手敲一個(gè)12位帶特殊字符的隨機(jī)密碼,也是很痛苦的事,如果讓你敲10個(gè)這樣的隨機(jī)密碼,我估計(jì)要人要瘋了,所以這事不適合人干,但機(jī)器最做這個(gè)最拿手,今天我們就來學(xué)習(xí)一段python腳本,可以直接生成自己需要的密碼,且密碼長(zhǎng)度,數(shù)字,字符個(gè)數(shù)隨意你指定,廢話不多說了,我們直接看代碼:

#!/usr/bin/env python
import string
from itertools import chain
from random import choice, sample
def mkpasswd(length=12, digits=4, upper=3, lower=3):
lowercase = string.lowercase
uppercase = string.uppercase
salt = '!@#$%^&*()><?'
password = list(
chain(
(choice(uppercase) for _ in range(upper)),
(choice(lowercase) for _ in range(lower)),
(choice(string.digits) for _ in range(digits)),
(choice(salt) for _ in range((length - digits - upper - lower)))
)
)
return "".join(sample(password, len(password)))
if __name__ == '__main__':
print mkpasswd()
#!/usr/bin/env python
import string
from itertools import chain
from random import choice, sample
def mkpasswd(length=12, digits=4, upper=3, lower=3):
lowercase = string.lowercase
uppercase = string.uppercase
salt = '!@#$%^&*()><?'
password = list(
chain(
(choice(uppercase) for _ in range(upper)),
(choice(lowercase) for _ in range(lower)),
(choice(string.digits) for _ in range(digits)),
(choice(salt) for _ in range((length - digits - upper - lower)))
)
)
return "".join(sample(password, len(password)))
if __name__ == '__main__':
print mkpasswd()

腳本逐行解釋,最開始幾行導(dǎo)入了需要的模塊,接下來定義一個(gè)mkpasswd的函數(shù),函數(shù)的參數(shù)可以設(shè)置密碼長(zhǎng)度,數(shù)字、大寫和小寫字符的個(gè)數(shù),接下來是函數(shù)主題部分:

利用string模塊的屬性生成大小寫字符串,salt是特殊字符集(支持自己添加),我們重點(diǎn)說password的生成,它首先是一個(gè)列表,因?yàn)檎{(diào)用了list()工廠函數(shù),chain()函數(shù)的功能是將一組迭代器對(duì)象連接起來,chain()里有三個(gè)生成器表達(dá)式,每個(gè)表達(dá)式調(diào)用for循環(huán),然后隨機(jī)選擇指定個(gè)數(shù)的字符,可能大家有看到for循環(huán)中有一個(gè)_(下劃線),這個(gè)下劃線有什么作用呢?我就不賣關(guān)子了,其實(shí)它啥作用也沒有,我自己理解為用不到的變量,這種寫法大家以后也可以用,比如你在循環(huán)的時(shí)候用不到這個(gè)變量,就可用用_(下劃線)來表示。

函數(shù)最后是return連接后的字符串,sample()函數(shù)是從隨機(jī)樣本中取出自己指定的樣本個(gè)數(shù),需要兩個(gè)參數(shù),一個(gè)是樣本,一個(gè)是取多少,取的過程是隨機(jī)的,其實(shí)在這個(gè)腳本中這個(gè)函數(shù)沒有發(fā)揮它完全的功能,因?yàn)樯傻膒assword就是12位的,然后在取出12位,不存在從大樣本中取出小樣本的工作,但起到了隨機(jī)的功能,所以生成的密碼是字符都是隨機(jī)的。

關(guān)于Python隨機(jī)生成帶特殊字符的密碼就給大家介紹到這里,希望對(duì)大家有所幫助!

相關(guān)文章

  • python獲取百度熱榜鏈接的實(shí)例方法

    python獲取百度熱榜鏈接的實(shí)例方法

    在本篇文章里小編給大家整理了關(guān)于python獲取百度熱榜鏈接的實(shí)例方法,需要的朋友們可以學(xué)習(xí)參考下。
    2020-08-08
  • python輸入整條數(shù)據(jù)分割存入數(shù)組的方法

    python輸入整條數(shù)據(jù)分割存入數(shù)組的方法

    今天小編就為大家分享一篇python輸入整條數(shù)據(jù)分割存入數(shù)組的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python PyQt5 爬蟲實(shí)現(xiàn)代碼

    python PyQt5 爬蟲實(shí)現(xiàn)代碼

    這篇文章主要介紹了python PyQt5 爬蟲實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • python的環(huán)境conda簡(jiǎn)介

    python的環(huán)境conda簡(jiǎn)介

    conda是一個(gè)包,依賴和環(huán)境管理工具,適用于多種語言,如: Python, R, Scala, Java, Javascript, C/ C++, FORTRAN,這篇文章主要介紹了python的環(huán)境conda簡(jiǎn)介,需要的朋友可以參考下
    2022-09-09
  • Python Deque 模塊使用詳解

    Python Deque 模塊使用詳解

    Deque模塊是Python標(biāo)準(zhǔn)庫collections中的一項(xiàng). 它提供了兩端都可以操作的序列, 這意味著, 你可以在序列前后都執(zhí)行添加或刪除.
    2014-07-07
  • Python多線程操作之互斥鎖、遞歸鎖、信號(hào)量、事件實(shí)例詳解

    Python多線程操作之互斥鎖、遞歸鎖、信號(hào)量、事件實(shí)例詳解

    這篇文章主要介紹了Python多線程操作之互斥鎖、遞歸鎖、信號(hào)量、事件,結(jié)合實(shí)例形式詳細(xì)分析了Python多線程操作互斥鎖、遞歸鎖、信號(hào)量、事件相關(guān)概念、原理、用法與操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • numpy系列之?dāng)?shù)組合并(橫向和縱向)

    numpy系列之?dāng)?shù)組合并(橫向和縱向)

    本文主要介紹了numpy系列之?dāng)?shù)組合并(橫向和縱向),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • python3 小數(shù)位的四舍五入(用兩種方法解決round 遇5不進(jìn))

    python3 小數(shù)位的四舍五入(用兩種方法解決round 遇5不進(jìn))

    這篇文章主要介紹了python3 小數(shù)位的四舍五入(用兩種方法解決round 遇5不進(jìn)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python刪除文本中行數(shù)標(biāo)簽的方法

    python刪除文本中行數(shù)標(biāo)簽的方法

    這篇文章主要為大家詳細(xì)介紹了python刪除文本中行數(shù)標(biāo)簽的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python實(shí)現(xiàn)輕松讀取大文件的技巧揭秘

    Python實(shí)現(xiàn)輕松讀取大文件的技巧揭秘

    Python提供了多種方法來讀取文件內(nèi)容,其中包括read()、readline()和readlines()三個(gè)常用的函數(shù),本文將深入探討這三個(gè)函數(shù)的使用方法,需要的可以參考一下
    2023-08-08

最新評(píng)論