Yüksek kalite, basit rastgele şifre üretici
Çok basit, yüksek (şifreleme) kaliteli bir rasgele şifre üreteci oluşturma ilgileniyorum. Daha iyi bir yolu bunu yapmak için vardır?
import os, random, string
length = 13
chars = string.ascii_letters string.digits '!@#$%^&*()'
random.seed = (os.urandom(1024))
print ''.join(random.choice(chars) for i in range(length))
CEVAP
Şifreleri ile zor şey onları yeterince güçlü ve hala onları hatırlamak mümkün kılmaktır. Eğer şifre bir insan tarafından hatırlanmıyor değilse, o zaman gerçekten bir şifre değildir.
Kullandığınız Python os.urandom(): çok iyi. Herhangi bir pratik amaç için bile şifreleme, os.urandom() çıkış gerçek alea ayırt edilemez. O zaman kullandığınız gibi tohumu random, hangisi daha iyi: tek bir sigara-PRNG şifreleme ve çıkış görülebilir bir yapı olan değil de kasada bir istatistiksel ölçme aracı, ama olabilir istismar ederek akıllı bir saldırgan. os.urandom() ile birlikte çalışması gerekir. Daha basit: uzunluğu bir alfabe 64, örneğin, harfler (büyük ve küçük harf), rakamlar ve iki ekstra noktalama karakterleri seçin (' ve '/'). ' gibi Sonra, her şifre karakter, bir byte os.urandom(), azaltmak değeri modül 64 (bu tarafsız çünkü 64 böler 256) ve sonuç olarak dizin chars dizi.
Uzunluğu alfabe ile 64, karakter başına entropi 6 bit (çünkü 2 . elde ^sup>6= 64). Böylece, 13 karakter, entropi 78 bit olsun. Bu da sonuçta, her durumda güçlü, ama zaten çok güçlü (ay sayılır bir bütçe ve dolar, sadece milyonlarca değil milyarlarca mağlup olabilir).

Yeniden Boyutlandırma (aşağı ölçek) Yü...
Objective-C projeleri yüksek kalite ko...
Üreten php rastgele şifre...
'181783497276652981 ile s ve Rast...
Nasıl Şifre Sıfırlar Uygulamak için?...