2017-08-25 92 views
-3

我正在使用Python生成4位數的隨機數,但我需要包含使其成爲密碼。我在下面解釋我的代碼。如何使用Python生成4位密碼隨機數

range_start = 10 ** (4 - 1) 
range_end = (10 ** 4) - 1 
password = randint(range_start, range_end) 

這裏我生成4位數的隨機數,但它不包含任何密碼術,我需要使它成爲密碼隨機數。

+5

我不知道什麼是「照片上的隨機數字」。你需要澄清你在找什麼。 – Blckknght

+0

我也不知道。提醒一下,有uuid'str(uuid.uuid4()。int >> 64)[0:4]'。 –

+0

@Blckknght:抱歉拼寫錯誤。我已經更新了它。 – satya

回答

1

如果您在Python 3.6中生成PIN碼,請使用n = secrets.choice(range(1000, 10000));然後format(n, '04'),然後過濾掉不需要的組合。

如果你被Python 2困住,random.SystemRandom將生成密碼更安全的隨機數;使用

from random import SystemRandom 
sr = SystemRandom() 
n = sr.choice(xrange(1000, 10000)) 
pin = format(n, '04') 
print(pin) 

隨着choice你也可以預濾器pincodes:

all_pins = [format(i, '04') for i in range(1000, 10000)] 
possible = [i for i in all_pins if len(set(i)) > 1] 

會過濾掉那些數字其組只有一個成員(即由只重複一個數字的),例如。

+0

我正在使用python版本2.7。 – satya

+0

@StefanPochmann是的,它是有效的,我只是教他們'選擇',以便下次他們不說「那麼選擇序列怎麼樣」 –