Python cryptography लाइब्रेरी का अवलोकन
hazmat और high-level primitives सेट अप करें तथा लाइब्रेरी की संरचना समझें।
Python cryptography लाइब्रेरी का अवलोकन, CoddyKit पर Cryptology Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cryptology Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
cryptography लाइब्रेरी का उपयोग क्यों करें
Python की cryptography लाइब्रेरी (PyCA द्वारा) उच्च-स्तरीय Fernet इंटरफ़ेस और निम्न-स्तरीय hazmat आदिम, दोनों उपलब्ध कराती है। यह OpenSSL को समाहित करती है और Python में उत्पादन-स्तरीय क्रिप्टोग्राफी के लिए सामुदायिक मानक है।
स्थापना और संरचना
स्थापित करें: pip install cryptography। दो परतें हैं: cryptography.fernet (सुरक्षित, पूर्वनिर्धारित विकल्पों वाला सममित एन्क्रिप्शन) और cryptography.hazmat.primitives (AES, RSA, EC, हैश, HMAC — सावधानी से उपयोग करें)।
Fernet: सुरक्षित सममित एन्क्रिप्शन
Fernet, टाइमस्टैम्प के साथ AES-128-CBC + HMAC-SHA256 का उपयोग करता है। यह IV उत्पन्न करने, पैडिंग और MAC को स्वचालित रूप से संभालता है। कॉन्फ़िगरेशन मानों, टोकनों या छोटे डेटा-खंडों को एन्क्रिप्ट करने के लिए यह उपयुक्त है।
from cryptography.fernet import Fernet
# Generate a URL-safe base64-encoded 32-byte key
key = Fernet.generate_key()
f = Fernet(key)
token = f.encrypt(b"my secret data")
print("Encrypted:", token[:40], "...")
plain = f.decrypt(token)
print("Decrypted:", plain)Hazmat आदिम: हैश
hazmat परत SHA-2, SHA-3, BLAKE2 और अन्य हैश उपलब्ध कराती है:
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.backends import default_backend
digest = hashes.Hash(hashes.SHA256(), backend=default_backend())
digest.update(b"Hello, ")
digest.update(b"world!")
result = digest.finalize()
print("SHA-256:", result.hex())Hazmat आदिम: HMAC
संदेश के प्रमाणीकरण के लिए HMAC:
from cryptography.hazmat.primitives import hmac, hashes
import os
key = os.urandom(32)
h = hmac.HMAC(key, hashes.SHA256())
h.update(b"authenticated message")
signature = h.finalize()
print("HMAC-SHA256:", signature.hex())
# Verify
h2 = hmac.HMAC(key, hashes.SHA256())
h2.update(b"authenticated message")
h2.verify(signature) # raises if invalidकुंजियों का क्रमबद्धीकरण
संग्रहण या संचारण के लिए कुंजियों को PEM/DER में क्रमबद्ध करें:
from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.hazmat.primitives import serialization
private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
pem = private_key.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.PKCS8,
encryption_algorithm=serialization.BestAvailableEncryption(b"passphrase")
)
print(pem[:60])PEM से कुंजियाँ लोड करना
डिस्क से PEM कुंजी लोड करें:
from cryptography.hazmat.primitives.serialization import load_pem_private_key
with open("private_key.pem", "rb") as f:
pem_data = f.read()
key = load_pem_private_key(pem_data, password=b"passphrase")
print("Key loaded, size:", key.key_size, "bits")X.509 प्रमाणपत्र प्रबंधन
TLS प्रमाणपत्रों को पार्स और जाँचें:
from cryptography import x509
import datetime
with open("cert.pem", "rb") as f:
cert = x509.load_pem_x509_certificate(f.read())
print("Subject:", cert.subject)
print("Issuer:", cert.issuer)
print("Not valid after:", cert.not_valid_after_utc)
print("Serial:", cert.serial_number)यादृच्छिक बाइट उत्पन्न करना
क्रिप्टोग्राफ़िक यादृच्छिकता के लिए हमेशा os.urandom या secrets का उपयोग करें:
import os, secrets
# Cryptographically secure 32-byte key
key = os.urandom(32)
print("Random key:", key.hex())
# secrets module: URL-safe token
token = secrets.token_urlsafe(32)
print("URL-safe token:", token)Hazmat की कमियों से बचना
hazmat API को "खतरनाक सामग्री" कहे जाने का एक कारण है। सामान्य गलतियाँ हैं: नॉन्स का दोबारा उपयोग करना, ECB मोड का उपयोग करना, प्रमाणीकरण टैग छोड़ देना और MAC की तुलना == से करना। जहाँ संभव हो, उच्च-स्तरीय API का उपयोग करें।
ज्ञान-जाँच
Fernet एन्क्रिप्शन, केवल कच्चे AES-CBC से क्या अतिरिक्त सुविधा प्रदान करता है?
पाठ का पुनरावलोकन
cryptography लाइब्रेरी की दो परतें हैं: सुरक्षित Fernet और लचीला hazmat। सममित एन्क्रिप्शन के लिए Fernet और AES-GCM, RSA, ECDSA तथा प्रमाणपत्र प्रबंधन के लिए hazmat का उपयोग करें। कुंजियों के लिए हमेशा os.urandom का उपयोग करें। hazmat की कमियों से बचें — प्रमाणीकृत मोड को प्राथमिकता दें।
एआई शिक्षक के साथ Cryptology Academy सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 67
- पाठ
- 261
अक्सर पूछे जाने वाले प्रश्न
क्या “Python cryptography लाइब्रेरी का अवलोकन” पाठ निःशुल्क है?
हाँ—“Python cryptography लाइब्रेरी का अवलोकन” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cryptology Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Python cryptography लाइब्रेरी का अवलोकन” में मैं क्या सीखूँगा?
hazmat और high-level primitives सेट अप करें तथा लाइब्रेरी की संरचना समझें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cryptology Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Cryptology Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cryptology Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Python cryptography लाइब्रेरी का अवलोकन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Cryptology Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Cryptology Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Python cryptography लाइब्रेरी का अवलोकन
- Python में AES-GCM एन्क्रिप्ट और डिक्रिप्ट करना
- Python में RSA और ECDSA key pairs
- सामान्य Python crypto pitfalls और सुरक्षित patterns