এই নিবন্ধে আমরা দেখব কিভাবে আমরা নিরাপদ র্যান্ডম নম্বর তৈরি করতে পারি যা কার্যকরভাবে পাসওয়ার্ড হিসেবে ব্যবহার করা যেতে পারে। র্যান্ডম সংখ্যার পাশাপাশি আমরা এটিকে আরও ভালো করার জন্য অক্ষর এবং অন্যান্য অক্ষর যোগ করতে পারি।
গোপনের সাথে
সিক্রেটস মডিউলটিতে পছন্দ নামে একটি ফাংশন রয়েছে যা লুপ এবং রেঞ্জ ফাংশন ব্যবহার করে প্রয়োজনীয় দৈর্ঘ্যের পাসওয়ার্ড তৈরি করতে ব্যবহার করা যেতে পারে৷
উদাহরণ
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
অন্তত শর্ত সহ
আমরা পাসওয়ার্ড জেনারেটরের অংশ হতে ছোট হাতের এবং বড় হাতের অক্ষরের পাশাপাশি অঙ্কগুলিকে বাধ্য করতে পারি। আবার এখানে আমরা গোপন মডিউল ব্যবহার করি।
উদাহরণ
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
এলোমেলো টোকেন
ইউআরএল-এর সাথে ডিল করার সময় আপনি যদি ইউআরএল-এর অংশ হতে একটি র্যান্ডম টোকেন চান তাহলে আমরা গোপন মডিউল থেকে নিচের পদ্ধতিগুলি ব্যবহার করতে পারি।
উদাহরণ
import secrets
# A random byte string
tkn1 = secrets.token_bytes(8)
# A random text string in hexadecimal
tkn2 = secrets.token_hex(8)
# random URL-safe text string
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