نقل قول نوشته شده توسط مجتبی تاجیک مشاهده تاپیک
import random
import os

Password= '';

while 1:
os.system('cls');
Password_Length= input("Enter password len to generate : ");
if int(Password_Length) == 0:
break;
for i in range(int(Password_Length)):
Password += chr(random.randint(33, 126));
print("\nThe generated password is : %s \n"%Password);
input("Press enter to generate new password or 0 to exit");
برای تولید دیتای رندوم برای مقاصد امنیتی (منجمله پسوردها) از os.urandom استفاده کنید نه از random.randint و امثالهم.

----------------------------

random.randint

‎...is completely unsuitable for cryptographic purposes

ترجمه: برای مقاصد رمزنگاری کاملا نامناسب است.

منبع: http://docs.python.org/2/library/random.html

---------------------------

os.urandom

‎‎Return a string of n random bytes suitable for cryptographic use.‎

ترجمه: رشته ای از n بایت رندوم مناسب برای استفادهء رمزنگاری را برمیگرداند.

منبع: http://docs.python.org/2/library/os.html#os.urandom