Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन का उपयोग करके सीक्रेट्स प्रबंधित करने के लिए सिक्योर रैंडम नंबर्स जनरेट करना

क्रिप्टोग्राफिकली सिक्योर रैंडम नंबर्स जनरेट करने के लिए हम पायथन में secrets मॉड्यूल का उपयोग कर सकते हैं। यह मॉड्यूल सिक्योर पासवर्ड, अकाउंट ऑथेंटिकेशन, सिक्योरिटी टोकन्स या कुछ संबंधित सीक्रेट्स बनाने में सहायक है।

secrets मॉड्यूल के क्लासेस और मॉड्यूल्स का उपयोग करने के लिए, हमें उस मॉड्यूल को अपने कोड में आयात करना चाहिए।

import secrets

रैंडम नंबर्स

secrets मॉड्यूल का उपयोग सिक्योर रैंडमनेस के कुछ उच्चतम गुणवत्ता वाले स्रोतों तक पहुंचने के लिए किया जाता है। जो ऑपरेटिंग सिस्टम्स द्वारा प्रदान किए जाते हैं।

secrets मॉड्यूल के रैंडम नंबर्स से संबंधित क्लासेस और फंक्शन्स हैं:

क्लास secrets.SystemRandom

यह ऑपरेटिंग सिस्टम्स द्वारा प्रदान किए गए कुछ उच्चतम गुणवत्ता वाले स्रोतों का उपयोग करके रैंडम नंबर्स जनरेट करने के लिए एक क्लास है।

मेथड secrets.choice(sequence)

यह मेथड नॉन-इम्प्टी सीक्वेंस से रैंडमली एक एलिमेंट चुनने के लिए उपयोग किया जाता है।

मेथड secrets.randbelow(n)

यह मेथड 0 से n (एक्सक्लूसिव) की रेंज से एक इंटीजर वैल्यू चुनने के लिए उपयोग किया जाता है।

मेथड secrets.randbits(k)

यह मेथड k नंबर के रैंडम बिट्स के साथ एक इंटीजर लौटाने के लिए उपयोग किया जाता है।

टोकन्स जनरेट करना

secrets मॉड्यूल कुछ सिक्योर टोकन्स भी जनरेट कर सकता है। इस प्रकार के टोकन्स पासवर्ड रीसेट, कॉम्प्लेक्स URLs आदि जनरेट करने के लिए उपयोगी हैं।

टोकन जनरेशन से संबंधित कुछ मेथड्स हैं:

मेथड secrets.token_bytes([nbytes=None])

यह मेथड सिक्योर टोकन्स जनरेट करने के लिए nbytes के साथ एक रैंडम बाइट स्ट्रिंग लौटाता है। जब nbytes वैल्यू नहीं दी जाती है, तो यह एक निर्दिष्ट डिफ़ॉल्ट वैल्यू का उपयोग करता है।

मेथड secrets.token_hex([nbytes=None])

यह मेथड हेक्साडेसिमल फॉर्म में एक रैंडम टेक्स्ट स्ट्रिंग लौटाता है। लौटाई गई स्ट्रिंग में nbytes रैंडम बाइट्स होते हैं। प्रत्येक कैरेक्टर को दो हेक्स डिजिट्स में बदला जा सकता है। जब nbytes वैल्यू नहीं दी जाती है, तो यह एक निर्दिष्ट डिफ़ॉल्ट वैल्यू का उपयोग करता है।

मेथड secrets.token_urlsafe([nbytes=None])

यह मेथड एक रैंडम URL-सेफ टेक्स्ट स्ट्रिंग लौटाने के लिए उपयोग किया जाता है। टेक्स्ट मूल रूप से Base64 एन्कोडेड होता है। औसतन प्रत्येक बाइट के परिणामस्वरूप 1.3 कैरेक्टर्स होते हैं (लगभग)।

उदाहरण कोड

import secrets

my_sequence = ['K','?','D',':','o','5','t','l','Y','0']
rand_pass = ''
for i in range(15):
    rand_char = secrets.choice(my_sequence)
    rand_pass += rand_char
print("Random Password is: " + rand_pass)

my_tok1 = secrets.token_hex(10) # लंबाई 10 का HEX टोकन बनाएं
my_tok2 = secrets.token_hex(5)  # लंबाई 5 का HEX टोकन बनाएं
print("First Token: " + my_tok1)
print("First Token: " + my_tok2)

आउटपुट

Random Password is: YK0l:YD??lKKY?o
First Token: f3e68646dcf1082e1038
First Token: e4ae3c2384
  1. - Python NumPy का उपयोग करके यादृच्छिक संख्याएँ कैसे उत्पन्न करें?

    NumPy के साथ यादृच्छिक संख्या उत्पन्न करना NumPy पैकेज में random मॉड्यूल में यादृच्छिक संख्याओं के उत्पन्न करने के लिए कई फ़ंक्शन हैं। numpy.random.rand() - दिए गए आकार का एक ऐरे बनाता है और इसे यादृच्छिक नमूनों से भरता है। >>> import numpy as np >>> np.random.rand(3, 2) array([

  1. - Python का उपयोग करके अभाज्य संख्याएँ कैसे उत्पन्न करें?

    Python में अभाज्य संख्याएँ उत्पन्न करना अभाज्य संख्या वह है जो 1 और स्वयं को छोड़कर किसी अन्य संख्या से विभाज्य नहीं है। Python में % मॉड्यूलो ऑपरेटर उपलब्ध है यह जांचने के लिए कि कोई संख्या किसी अन्य से विभाज्य है या नहीं। यह मानते हुए कि हमें 1 से 100 के बीच अभाज्य संख्याएँ ढूंढनी हैं, रेंज में

  1. - पायथन रैंडम नंबर कैसे जनरेट करता है?

    पायथन के स्टैंडर्ड डिस्ट्रीब्यूशन में एक random मॉड्यूल होता है जिसमें रैंडम नंबर जनरेशन के लिए फ़ंक्शन होते हैं। बेसिक random() फ़ंक्शन 0 और 1 के बीच एक रैंडम फ्लोटिंग पॉइंट नंबर वापस करता है। >>> import random >>> random.random() 0.5204702770265925 उसी मॉड्यूल में randrange() फ