इस लेख में हम देखेंगे कि कैसे हम सुरक्षित यादृच्छिक संख्या उत्पन्न कर सकते हैं जिनका उपयोग प्रभावी रूप से पासवर्ड के रूप में किया जा सकता है। यादृच्छिक संख्याओं के साथ हम अक्षर और अन्य वर्ण भी जोड़ सकते हैं ताकि यह बेहतर बने।
सीक्रेट्स के साथ
secrets मॉड्यूल में choice नामक एक फ़ंक्शन होता है जिसका उपयोग फॉर लूप और रेंज फ़ंक्शन का उपयोग करके आवश्यक लंबाई का पासवर्ड उत्पन्न करने के लिए किया जा सकता है।
उदाहरण
import secrets
import string
allowed_chars = string.ascii_letters + string.digits + string.printable
pswd = ''.join(secrets.choice(allowed_chars) for i in range(8))
print("The generated password is: \n", pswd)
आउटपुट
उपरोक्त कोड चलाने पर हमें निम्न परिणाम मिलता है -
The generated password is: $pB7WY
कम से कम शर्त के साथ
हम लोअरकेस और अपरकेस अक्षरों के साथ-साथ अंकों को पासवर्ड जनरेटर का हिस्सा बनाने जैसी शर्तों को लागू कर सकते हैं। यहां भी हम secrets मॉड्यूल का उपयोग करते हैं।
उदाहरण
import secrets
import string
allowed_chars = string.ascii_letters + string.digits + string.printable
while True:
pswd = ''.join(secrets.choice(allowed_chars) for i in range(8))
if (any(c.islower() for c in pswd) and
any(c.isupper() for c in pswd) and
sum(c.isdigit() for c in pswd) >= 3):
print("The generated pswd is: \n", pswd)
break
आउटपुट
उपरोक्त कोड चलाने पर हमें निम्न परिणाम मिलता है -
The generated pswd is: p7$7nS2w
यादृच्छिक टोकन
URL के साथ काम करते समय यदि आप URL के हिस्से के रूप में एक यादृच्छिक टोकन चाहते हैं तो हम secrets मॉड्यूल से नीचे दिए गए मेथड का उपयोग कर सकते हैं।
उदाहरण
import secrets
# एक यादृच्छिक बाइट स्ट्रिंग
tkn1 = secrets.token_bytes(8)
# हेक्साडेसिमल में एक यादृच्छिक टेक्स्ट स्ट्रिंग
tkn2 = secrets.token_hex(8)
# यादृच्छिक URL-सेफ टेक्स्ट स्ट्रिंग
url = 'https://thename.com/reset=' + secrets.token_urlsafe()
print("A random byte string:\n ", tkn1)
print("A random text string in hexadecimal: \n ", tkn2)
print("A text string with url-safe token: \n ", url)
आउटपुट
उपरोक्त कोड चलाने पर हमें निम्न परिणाम मिलता है -
A random byte string: b'\x0b-\xb2\x13\xb0Z#\x81' A random text string in hexadecimal: d94da5763fce71a3 A text string with url-safe token: https://thename.com/reset=Rd8eVookY54Q7aTipZfdmz-HS62rHmRjSAXumZdNITo