"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > सभी प्लेटफार्मों पर आरएसए एन्क्रिप्शन और डिक्रिप्शन के साथ डेटा सुरक्षित करना

सभी प्लेटफार्मों पर आरएसए एन्क्रिप्शन और डिक्रिप्शन के साथ डेटा सुरक्षित करना

2024-11-08 को प्रकाशित
ब्राउज़ करें:319

Securing Data with RSA Encryption and Decryption Across Platforms

आरएसए एन्क्रिप्शन का परिचय

आज के डिजिटल परिदृश्य में, संवेदनशील डेटा सुरक्षित रखना व्यक्तियों और संगठनों दोनों के लिए महत्वपूर्ण है। आरएसए (रिवेस्ट-शमीर-एडलमैन) एन्क्रिप्शन डेटा की सुरक्षा के लिए एक मजबूत समाधान के रूप में सामने आया है। यह एक असममित एन्क्रिप्शन एल्गोरिदम है, जिसका अर्थ है कि यह कुंजी की एक जोड़ी का उपयोग करता है: एन्क्रिप्शन के लिए एक सार्वजनिक कुंजी और डिक्रिप्शन के लिए एक निजी कुंजी। आरएसए एन्क्रिप्शन का एक मुख्य लाभ यह है कि निजी कुंजी को कभी भी साझा करने की आवश्यकता नहीं होती है, जो इसके समझौता होने के जोखिम को कम करता है।

यह आलेख बताता है कि तीन लोकप्रिय प्रोग्रामिंग भाषाओं-जावास्क्रिप्ट, पायथन और पीएचपी में आरएसए एन्क्रिप्शन का उपयोग कैसे किया जाए, जिससे क्रॉस-प्लेटफ़ॉर्म अनुप्रयोगों में डेटा सुरक्षित करना आसान हो जाता है।

क्रॉस-प्लेटफ़ॉर्म एन्क्रिप्शन और डिक्रिप्शन: परिदृश्य

कल्पना करें कि आप एक वेब एप्लिकेशन बना रहे हैं जहां संवेदनशील जानकारी (जैसे प्रमाणीकरण डेटा या व्यक्तिगत विवरण) को क्लाइंट (फ्रंट एंड) और सर्वर (बैक एंड) के बीच सुरक्षित रूप से प्रसारित किया जाना चाहिए। उदाहरण के लिए, आप जावास्क्रिप्ट में क्लाइंट साइड पर एक संदेश एन्क्रिप्ट कर सकते हैं और फिर इसे पायथन या PHP का उपयोग करके सर्वर पर डिक्रिप्ट कर सकते हैं।

आरएसए इस परिदृश्य के लिए उपयुक्त है क्योंकि यह एक भाषा में एन्क्रिप्शन और दूसरी में डिक्रिप्शन का लचीलापन प्रदान करता है, जिससे क्रॉस-प्लेटफॉर्म अनुकूलता सुनिश्चित होती है।

आरएसए कार्यान्वयन: जावास्क्रिप्ट, पायथन और पीएचपी

जावास्क्रिप्ट (JSEncrypt के साथ Next.js)
कूटलेखन:

import JSEncrypt from 'jsencrypt';

// Function to encrypt a message using a public key
const encryptWithPublicKey = (message) => {
  const encryptor = new JSEncrypt();
  const publicKey = process.env.NEXT_PUBLIC_PUBLIC_KEY.replace(/\\n/g, "\n");
  encryptor.setPublicKey(publicKey);
  const encryptedMessage = encryptor.encrypt(message);
  return encryptedMessage;
};

डिक्रिप्शन:

import JSEncrypt from 'jsencrypt';

// Function to decrypt a message using a private key
const decryptWithPrivateKey = (encryptedMessage) => {
  const decryptor = new JSEncrypt();
  const privateKey = process.env.PRIVATE_KEY.replace(/\\n/g, "\n");
  decryptor.setPrivateKey(privateKey);
  const decryptedMessage = decryptor.decrypt(encryptedMessage);
  return decryptedMessage;
};

स्पष्टीकरण:

सार्वजनिक कुंजी एन्क्रिप्शन: JSEncrypt लाइब्रेरी सार्वजनिक कुंजी का उपयोग करके संदेश को एन्क्रिप्ट करती है। यह सुनिश्चित करता है कि केवल संबंधित निजी कुंजी ही इसे डिक्रिप्ट कर सकती है।
निजी कुंजी डिक्रिप्शन: संदेश को निजी कुंजी के साथ डिक्रिप्ट किया जाता है, जिसे एक पर्यावरण चर में सुरक्षित रूप से संग्रहीत किया जाता है।
सुरक्षा विचार: आरएसए का उपयोग करके, हम यह सुनिश्चित करते हैं कि क्लाइंट से भेजा गया डेटा एन्क्रिप्टेड और सुरक्षित है।

पायथन (आरएसए लाइब्रेरी का उपयोग करके)
कूटलेखन:

import rsa
import base64

def encrypt_with_public_key(message: str, public_key_str: str) -> str:
    public_key = rsa.PublicKey.load_pkcs1_openssl_pem(public_key_str.encode())
    encrypted_message = rsa.encrypt(message.encode(), public_key)
    return base64.b64encode(encrypted_message).decode()

डिक्रिप्शन:

import rsa
import base64

def decrypt_with_private_key(encrypted_message: str, private_key_str: str) -> str:
    private_key = rsa.PrivateKey.load_pkcs1(private_key_str.encode())
    encrypted_bytes = base64.b64decode(encrypted_message.encode())
    decrypted_message = rsa.decrypt(encrypted_bytes, private_key)
    return decrypted_message.decode()

स्पष्टीकरण:

सार्वजनिक कुंजी एन्क्रिप्शन: संदेश को सार्वजनिक कुंजी का उपयोग करके एन्क्रिप्ट किया गया है, यह सुनिश्चित करते हुए कि केवल इच्छित निजी कुंजी धारक ही इसे डिक्रिप्ट कर सकता है।
बेस64 एनकोडिंग: एन्क्रिप्शन के बाद, टेक्स्ट ट्रांसमिशन के साथ अनुकूलता सुनिश्चित करने के लिए संदेश बेस64 एनकोडेड है।
निजी कुंजी डिक्रिप्शन: निजी कुंजी का उपयोग गोपनीयता सुनिश्चित करने के लिए बेस64-एन्कोडेड एन्क्रिप्टेड संदेश को डिक्रिप्ट करने के लिए किया जाता है।

PHP (ओपनएसएसएल का उपयोग करके)
कूटलेखन:

function encrypt_with_public_key($message) {
    $publicKey = getenv('PUBLIC_KEY');
    openssl_public_encrypt($message, $encrypted, $publicKey);
    return base64_encode($encrypted);
}

डिक्रिप्शन:

function decrypt_with_private_key($encryptedMessage) {
    $privateKey = getenv('PRIVATE_KEY');
    $encryptedData = base64_decode($encryptedMessage);
    openssl_private_decrypt($encryptedData, $decrypted, $privateKey);
    return $decrypted;
}

स्पष्टीकरण:

सार्वजनिक कुंजी एन्क्रिप्शन: openingsl_public_encrypt फ़ंक्शन सार्वजनिक कुंजी का उपयोग करके संदेश को एन्क्रिप्ट करता है, यह सुनिश्चित करता है कि केवल निजी कुंजी ही इसे डिक्रिप्ट कर सकती है।
निजी कुंजी डिक्रिप्शन: openingsl_private_decrypt फ़ंक्शन निजी कुंजी का उपयोग करके संदेश को डिक्रिप्ट करता है, यह सुनिश्चित करता है कि संवेदनशील जानकारी सुरक्षित रहे।
पर्यावरण चर: सार्वजनिक और निजी दोनों कुंजी को पर्यावरण चर में सुरक्षित रूप से संग्रहीत किया जाता है, जिससे सुरक्षा बढ़ती है।

एन्क्रिप्शन के लिए सर्वोत्तम अभ्यास

पर्यावरण चर का उपयोग करें: अपनी कुंजियों को अपने एप्लिकेशन में हार्ड-कोड करने के बजाय हमेशा पर्यावरण चर में संग्रहीत करें। इससे संवेदनशील जानकारी उजागर होने का जोखिम कम हो जाता है।
संवेदनशील डेटा एन्क्रिप्ट करें: अनधिकृत पहुंच को रोकने के लिए व्यक्तिगत और संवेदनशील डेटा जैसे पासवर्ड, वित्तीय विवरण, या व्यक्तिगत पहचान योग्य जानकारी (पीआईआई) को एन्क्रिप्ट करें।
HTTPS का उपयोग करें: पारगमन में डेटा की सुरक्षा के लिए सुनिश्चित करें कि आपका एप्लिकेशन HTTPS पर संचार करता है।
सुरक्षित कुंजी प्रबंधन: एन्क्रिप्शन कुंजियों को नियमित रूप से घुमाएं और सुनिश्चित करें कि वे सुरक्षित रूप से संग्रहीत हैं।

आरएसए एन्क्रिप्शन क्यों चुनें?

उन्नत डेटा सुरक्षा: आरएसए एन्क्रिप्शन सुनिश्चित करता है कि संवेदनशील डेटा को ट्रांसमिशन के दौरान सुरक्षित रखा जाए, जिससे अनधिकृत पहुंच को रोका जा सके।
असममित एन्क्रिप्शन: आरएसए एन्क्रिप्शन के लिए एक सार्वजनिक कुंजी और डिक्रिप्शन के लिए एक निजी कुंजी का उपयोग करता है, जो सुनिश्चित करता है कि निजी कुंजी को कभी भी साझा करने की आवश्यकता नहीं है।
क्रॉस-प्लेटफॉर्म संगतता: आरएसए विभिन्न प्लेटफार्मों और प्रोग्रामिंग भाषाओं में निर्बाध रूप से काम करता है, जो इसे वेब अनुप्रयोगों के लिए आदर्श बनाता है जहां क्लाइंट और सर्वर पक्षों पर विभिन्न तकनीकों का उपयोग किया जाता है।

निष्कर्ष

आरएसए एन्क्रिप्शन कई प्रोग्रामिंग वातावरणों में संवेदनशील डेटा को सुरक्षित करने का एक विश्वसनीय तरीका प्रदान करता है। जावास्क्रिप्ट, पायथन और PHP में आरएसए एन्क्रिप्शन और डिक्रिप्शन को लागू करके, आप संवेदनशील जानकारी की रक्षा कर सकते हैं, सुरक्षा बढ़ा सकते हैं और क्रॉस-प्लेटफ़ॉर्म संगतता सुनिश्चित कर सकते हैं। चाहे वह एपीआई कॉल को सुरक्षित करने के लिए हो, उपयोगकर्ता डेटा की सुरक्षा के लिए हो, या संदेशों की गोपनीयता सुनिश्चित करने के लिए हो, आरएसए एक मजबूत एन्क्रिप्शन समाधान प्रदान करता है।

यदि आपको यह मार्गदर्शिका उपयोगी लगी, तो इसे साथी डेवलपर्स के साथ साझा करने पर विचार करें, और एन्क्रिप्शन और डेटा सुरक्षा में अधिक जानकारी के लिए हमारे साथ बने रहें!

एन्क्रिप्शन #आरएसए #साइबर सुरक्षा #डेटासुरक्षा #वेबडेवलपमेंट #क्रॉसप्लेटफॉर्मसुरक्षा #जावास्क्रिप्ट #पायथन #PHP

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/shubhamchan/securing-data-with-rsa-encryption-and-decryption-across-platforms-30d7?1 यदि कोई उल्लंघन है, तो कृपया [email protected] पर संपर्क करें इसे हटाने के लिए
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3