रह

रहस्य में Python

{one: "1 अभ्यास", other: "%{count} अभ्यास"}

रहस्य के बारे में

पिछले कॉन्सेप्ट में random मॉड्यूल पर चर्चा की गई थी, जो स्यूडो-रैंडम संख्याएँ और ऐरे के स्यूडो-रैंडम क्रम बनाता है।

secrets मॉड्यूल की कुछ कार्यक्षमता random से मिलती-जुलती है, लेकिन दोनों मॉड्यूल बहुत अलग प्राथमिकताओं के साथ बनाए गए हैं।

  • random को मॉडलिंग और सिमुलेशन में उच्च प्रदर्शन के लिए बनाया गया है, और उसका स्यूडो-रैंडम संख्या उत्पादन "काम चलाऊ" है।
  • secrets को क्रिप्टोग्राफ़िक रूप से सुरक्षित रहने के लिए बनाया गया है, ताकि पासवर्ड हैशिंग, सुरक्षा टोकन बनाने और अकाउंट ऑथेंटिकेशन जैसे काम किए जा सकें।

secrets मॉड्यूल जोड़ना क्यों ज़रूरी था, इसका विस्तृत ब्यौरा PEP 506 में दिया गया है।

secrets मॉड्यूल अपेक्षाकृत छोटा और सरल है। इसमें रैंडम पूर्णांक, बिट, बाइट या टोकन बनाने के मेथड हैं, और किसी दिए गए क्रम में से एक रैंडम एलिमेंट चुनने का मेथड भी।

secrets का इस्तेमाल करने के लिए सबसे पहले उसे import करना ज़रूरी है:

>>> import secrets

# Returns n, where 0 <= n < 1000.
>>> secrets.randbelow(1000) 
577

# 32-bit integers.
>>> secrets.randbits(32) 
3028709440

>>> bin(secrets.randbits(32))
'0b11111000101100101111110011110100'

# Pick at random from a sequence.
>>> secrets.choice(['my', 'secret', 'thing']) 
'thing'

# Generate a token made up of random hexadecimal digits.
>>> secrets.token_hex() 
'f683d093ea9aa1f2607497c837cf11d7afaefa903c5805f94b64f068e2b9e621'

# Generate a URL-safe token of random alphanumeric characters.
>>> secrets.token_urlsafe(16) 
'gkSUKRdiPDHqmImPi2HMnw'

अगर आप सुरक्षा से जुड़े ऐप्लिकेशन लिख रहे हैं, तो आप पूरा डॉक्यूमेंटेशन ज़रूर पढ़ना चाहेंगे, जिसमें और सलाह और उदाहरण दिए गए हैं।

GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।