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

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

क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक संख्याएँ उत्पन्न करने के लिए हम रहस्य . का उपयोग कर सकते हैं पायथन में मॉड्यूल। यह मॉड्यूल सुरक्षित पासवर्ड, खाता प्रमाणीकरण, सुरक्षा टोकन या कुछ संबंधित रहस्य बनाने में मददगार है।

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

import secrets

यादृच्छिक संख्या

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

गुप्त मॉड्यूल की यादृच्छिक संख्याओं से संबंधित कक्षाएं और कार्य हैं -

कक्षा रहस्य.SystemRandom

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

विधि रहस्य.पसंद(अनुक्रम)

इस पद्धति का उपयोग गैर-रिक्त अनुक्रम से एक तत्व को यादृच्छिक रूप से चुनने के लिए किया जाता है।

विधि secrets.randbelow(n)

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

विधि secrets.randbits(k)

इस विधि का उपयोग k संख्या के यादृच्छिक बिट्स के साथ एक पूर्णांक को वापस करने के लिए किया जाता है।

टोकन बनाना

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

टोकन जनरेशन से संबंधित कुछ तरीके हैं -

विधि secrets.token_bytes([nbytes=None])

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

विधि secrets.token_hex([nbytes=None])

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

विधि secrets.token_urlsafe([nbytes=None])

इस विधि का उपयोग यादृच्छिक URL-सुरक्षित टेक्स्ट स्ट्रिंग को वापस करने के लिए किया जाता है। पाठ मूल रूप से बेस 64 एन्कोडेड है। औसतन प्रत्येक बाइट का परिणाम 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) #Create HEX token of length 10 
my_tok2 = secrets.token_hex(5) #Create HEX token of length 5
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.rand() − दिए गए आकार की एक सरणी बनाएं और इसे यादृच्छिक नमूनों से भर दें >>> import numpy as np >>> np.random.rand(3,2) array([[0.10339983, 0.54395499], [0.31719352, 0.51220189], [0.9893

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

    अभाज्य संख्या वह होती है जो 1 और स्वयं को छोड़कर किसी अन्य संख्या से विभाज्य नहीं होती है। पायथन में % मोडुलो ऑपरेटर यह जांचने के लिए उपलब्ध है कि कोई संख्या दूसरे से विभाज्य है या नहीं। यह मानते हुए कि हमें 1 से 100 के बीच अभाज्य संख्याएँ ज्ञात करनी हैं, श्रेणी में प्रत्येक संख्या (मान लें x) को

  1. पायथन यादृच्छिक संख्या कैसे उत्पन्न करता है?

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