
Simple Encryption in PHP.
composer require defuse/php-encryption
यह एक लाइब्रेरी है जो PHP में किसी कुंजी (key) या पासवर्ड के साथ डेटा एन्क्रिप्ट करने के लिए है। इसके लिए PHP 5.6 या नया और OpenSSL 1.0.1 या नया होना आवश्यक है। हम PHP के उस संस्करण का उपयोग करने की सलाह देते हैं जिसे अभी भी सुरक्षा समर्थन प्राप्त है, जो इस लेखन के समय PHP 8.0 या उसके बाद के संस्करण को दर्शाता है। PHP के असमर्थित संस्करण के साथ इस लाइब्रेरी का उपयोग करने से सुरक्षा कमजोरियाँ उत्पन्न हो सकती हैं।
php-encryption का वर्तमान संस्करण v2.4.0 है। यह लाइब्रेरी अपने लेखकों द्वारा कम से कम 1 जनवरी 2024 तक सुरक्षा और बगफिक्स के साथ स्थिर और समर्थित बने रहने की उम्मीद है।
यह लाइब्रेरी Taylor Hornby और Scott Arciszewski के साथ-साथ कई ओपन-सोर्स योगदानकर्ताओं का संयुक्त प्रयास है।
इस लाइब्रेरी को अन्य PHP एन्क्रिप्शन लाइब्रेरीज़ से अलग करने वाली बात यह है कि, सबसे पहले, यह सुरक्षित है। लेखकों को पहले प्रतिदिन असुरक्षित PHP एन्क्रिप्शन कोड का सामना करना पड़ता था, इसलिए उन्होंने पारिस्थितिकी तंत्र में अधिक सुरक्षा लाने के लिए इस लाइब्रेरी का निर्माण किया। दूसरी बात, यह लाइब्रेरी "दुरुपयोग करना कठिन" है। libsodium की तरह, इसका API इस तरह डिज़ाइन किया गया है कि इसे सुरक्षित तरीके से उपयोग करना आसान हो और असुरक्षित तरीके से उपयोग करना कठिन हो।
इस लाइब्रेरी को OpenSSL एक्सटेंशन (संस्करण 1.0.1 या बाद का) सक्षम के साथ PHP 5.6 या नए के अलावा किसी विशेष निर्भरता की आवश्यकता नहीं है (यह डिफ़ॉल्ट है)। यह random_compat का उपयोग करती है, जो इस लाइब्रेरी के साथ ही बंडल है, ताकि आपके उपयोगकर्ताओं को कोई विशेष स्थापना चरणों का पालन न करना पड़े।
ट्यूटोरियल से शुरू करें। आप इस लाइब्रेरी का कोड सुरक्षित रूप से प्राप्त करने के निर्देश स्थापना और सत्यापन प्रलेखन में पा सकते हैं।
ट्यूटोरियल पढ़ने और कोड प्राप्त करने के बाद, इस लाइब्रेरी द्वारा प्रदान किए गए प्रत्येक वर्ग के लिए औपचारिक प्रलेखन देखें:
यदि आपको कठिनाइयाँ आती हैं, तो FAQ के उत्तर देखें। सबसे अधिक रिपोर्ट की जाने वाली समस्याओं के समाधान वहाँ समझाए गए हैं।
यदि आप क्रिप्टोग्राफर हैं और यह समझना चाहते हैं कि यह लाइब्रेरी किस प्रकार काम करती है, तो क्रिप्टोग्राफी विवरण प्रलेखन देखें।
यदि आप इस लाइब्रेरी में योगदान करने में रुचि रखते हैं, तो आंतरिक डेवलपर प्रलेखन देखें।
यह लाइब्रेरी सर्वर-साइड PHP सॉफ़्टवेयर के लिए बनाई गई है, जिसे आराम की स्थिति (at rest) में डेटा एन्क्रिप्ट करने की आवश्यकता होती है। यदि आप ऐसा सॉफ़्टवेयर बना रहे हैं जिसे क्लाइंट-साइड एन्क्रिप्ट करने की आवश्यकता है, या ऐसा सिस्टम बना रहे हैं जिसे क्रॉस-प्लेटफ़ॉर्म एन्क्रिप्शन/डिक्रिप्शन समर्थन की आवश्यकता है, तो हम दृढ़ता से libsodium का उपयोग करने की सलाह देते हैं।
यदि प्रलेखन आपके लिए यह समझने के लिए पर्याप्त नहीं है कि इस लाइब्रेरी का उपयोग कैसे करें, तो आप इस लाइब्रेरी का उपयोग करने वाली एक उदाहरण परियोजना देख सकते हैं:
इस कोड का कोई औपचारिक, भुगतान किया गया, सुरक्षा ऑडिट नहीं हुआ है। हालाँकि, इसे PHP सुरक्षा समुदाय के सदस्यों से बहुत सारी समीक्षाएँ मिली हैं, और लेखक क्रिप्टोग्राफी में अनुभवी हैं। संभवतः, आप PHP के लिए लगभग किसी भी अन्य एन्क्रिप्शन लाइब्रेरी की तुलना में इस लाइब्रेरी का उपयोग करके अधिक सुरक्षित हैं।
यदि आप इस लाइब्रेरी को अपने व्यवसाय के हिस्से के रूप में उपयोग करते हैं और औपचारिक ऑडिट के लिए धन देने में सहायता करना चाहते हैं, तो कृपया Taylor Hornby से संपर्क करें।
वर्तमान और नए रिलीज़ पर हस्ताक्षर करने के लिए उपयोग की जाने वाली GnuPG सार्वजनिक कुंजी dist/signingkey-new.asc में उपलब्ध है। इसका फिंगरप्रिंट है:
6DD6 E677 0281 5846 FC85 25A3 DD2E 507F 7BDB 1669
आप इसे Taylor Hornby के संपर्क पृष्ठ और ट्विटर पर सत्यापित कर सकते हैं।
पुराने रिलीज़ पर एक (अब समाप्त) कुंजी से हस्ताक्षर किए गए थे, जो dist/signingkey-old.asc में उपलब्ध है। पुरानी कुंजी का फिंगरप्रिंट है:
2FA6 1D8D 99B9 2658 6BAC 3D53 385E E055 A129 1538
पुरानी कुंजी का फिंगरप्रिंट Taylor Hornby के संपर्क पृष्ठ और ट्विटर पर सत्यापित किया जा सकता है।
पुरानी कुंजी द्वारा इस नई कुंजी के हस्ताक्षर dist/signingkey-new.asc.sig में उपलब्ध हैं।