
समय के साथ स्केलेबल जटिलता पर आधारित विकासवादी एन्क्रिप्शन फ्रेमवर्क

अत्यधिक संवेदनशील डेटा की सुरक्षा पर केंद्रित, temcrypt एक उन्नत बहु-परत डेटा विकासवादी एन्क्रिप्शन तंत्र है जो समय के साथ स्केलेबल जटिलता प्रदान करता है, और सामान्य ब्रूट फोर्स हमलों के लिए प्रतिरोधी है।
आप इसका उपयोग करके अपने स्वयं के एप्लिकेशन, स्क्रिप्ट और ऑटोमेशन बना सकते हैं।
जानें कि temcrypt क्या दर्शाता है, इसकी विशेषताएं और प्रेरणा जिसने मुझे इसे बनाने के लिए प्रेरित किया और बहुत कुछ। ज्ञान दस्तावेज़ पढ़ें। यह आपके लिए बहुत महत्वपूर्ण है।
temcrypt Node.js v18 या उच्च संस्करण और आधुनिक वेब ब्राउज़र दोनों के साथ संगत है, जिससे आप इसे विभिन्न वातावरणों में उपयोग कर सकते हैं।
temcrypt द्वारा उपयोग की जाने वाली एकमात्र निर्भरताएँ crypto-js हैं जो AES-256, SHA-256 जैसे एन्क्रिप्शन एल्गोरिदम और कुछ एन्कोडर्स को संभालने के लिए हैं, और fs का उपयोग Node.js के साथ फ़ाइल हैंडलिंग के लिए किया जाता है।
temcrypt का उपयोग करने के लिए, आपके पास Node.js स्थापित होना चाहिए। फिर, आप npm का उपयोग करके temcrypt स्थापित कर सकते हैं:
npm install temcrypt
उसके बाद, इसे अपने कोड में निम्नानुसार आयात करें:
const temcrypt = require("temcrypt");
इसमें इसकी निर्भरताओं के लिए एक ऑटो-इंस्टॉल सुविधा शामिल है, इसलिए आपको उन्हें मैन्युअल रूप से स्थापित करने की चिंता करने की आवश्यकता नहीं है। बस temcrypt.js लाइब्रेरी चलाएँ और निर्भरताएँ स्वचालित रूप से स्थापित हो जाएँगी, फिर इसे अपने कोड में कॉल करें, यह पोर्टेबल होने के लिए किया गया था:
node temcrypt.js
वैकल्पिक रूप से, आप निम्नलिखित स्क्रिप्ट टैग शामिल करके सीधे ब्राउज़र में temcrypt का उपयोग कर सकते हैं:
<script src="temcrypt.js"></script>
या मिनिफाइड:
<script src="temcrypt.min.js"></script>
आप CDN से अपनी वेबसाइट या वेब एप्लिकेशन पर लाइब्रेरी को कॉल भी कर सकते हैं:
<script src="https://cdn.jsdelivr.net/gh/jofpin/temcrypt/temcrypt.min.js"></script>
temcrypt आपकी जानकारी को सुरक्षित रूप से सुरक्षित और प्रकट करने के लिए encrypt और decrypt जैसे फ़ंक्शन प्रदान करता है।
पैरामीटर
dataString (स्ट्रिंग): एन्क्रिप्ट करने के लिए स्ट्रिंग डेटा।dataFiles (स्ट्रिंग): एन्क्रिप्ट करने के लिए फ़ाइल पथ। dataString या dataFiles में से एक प्रदान करें।mainKey (स्ट्रिंग): एन्क्रिप्शन के लिए मुख्य कुंजी (निजी)।extraBytes (संख्या, वैकल्पिक): एन्क्रिप्शन में जोड़ने के लिए अतिरिक्त बाइट्स। temcrypt एन्क्रिप्शन प्रक्रिया में उपयोग किया जाने वाला एक वैकल्पिक पैरामीटर है। यह आपको एन्क्रिप्टेड डेटा में अतिरिक्त बाइट्स जोड़ने की अनुमति देता है, जिससे एन्क्रिप्शन की जटिलता बढ़ जाती है, जिसे डिक्रिप्ट करने के लिए अधिक प्रसंस्करण शक्ति की आवश्यकता होती है। यह एन्क्रिप्शन के वजन को बदलकर पैटर्न को खोने का भी काम करता है।रिटर्न
status (बूलियन): सफल डिक्रिप्शन को इंगित करने के लिए true।hash (स्ट्रिंग): एन्क्रिप्टेड डेटा की वैधता सत्यापन के लिए उत्पन्न अद्वितीय हैश।dataString (स्ट्रिंग) या dataFiles: इनपुट के आधार पर डिक्रिप्टेड स्ट्रिंग या डिक्रिप्टेड फ़ाइल का फ़ाइल पथ।updatedEncryptedData (स्ट्रिंग): डिक्रिप्शन के बाद अद्यतन एन्क्रिप्टेड डेटा। हर बार जब एन्क्रिप्शन को डिक्रिप्ट किया जाता है, तो आउटपुट अद्यतन होता है, क्योंकि mainKey अपना क्रम बदलता है और अंतिम डिक्रिप्शन की नई तारीख सहेजी जाती है।creationDate (स्ट्रिंग): एन्क्रिप्टेड डेटा का निर्माण दिनांक।lastDecryptionDate (स्ट्रिंग): डेटा के अंतिम सफल डिक्रिप्शन की तारीख।dataString प्रदान किया जाता है:
hash (स्ट्रिंग): एन्क्रिप्टेड डेटा की वैधता सत्यापन के लिए उत्पन्न अद्वितीय हैश।mainKey (): एन्क्रिप्शन के लिए उपयोग की जाने वाली मुख्य कुंजी (निजी)।temcrypt का उपयोग करने के कुछ उदाहरण यहां दिए गए हैं। कृपया ध्यान दें कि एन्क्रिप्ट करते समय, आपको एक कुंजी दर्ज करनी होगी और उस घंटे और मिनट को सहेजना होगा जिस पर आपने जानकारी एन्क्रिप्ट की थी। जानकारी को डिक्रिप्ट करने के लिए, आपको बाद के दिनों में उसी घंटे और मिनट पर उसी मुख्य कुंजी का उपयोग करना होगा:
const dataToEncrypt = "Sensitive data";
const mainKey = "your_secret_key"; // Insert your custom key
const encryptedData = temcrypt.encrypt({
dataString: dataToEncrypt,
mainKey: mainKey
});
console.log(encryptedData);
const encryptedData = "..."; // Encrypted data obtained from the encryption process
const mainKey = "your_secret_key";
const decryptedData = temcrypt.decrypt({
dataString: encryptedData,
mainKey: mainKey
});
console.log(decryptedData);
एक फ़ाइल एन्क्रिप्ट करें:
temcrypt का उपयोग करके किसी फ़ाइल को एन्क्रिप्ट करने के लिए, आप dataFiles पैरामीटर के साथ encrypt फ़ंक्शन का उपयोग कर सकते हैं। फ़ाइल को एन्क्रिप्ट करने और एन्क्रिप्शन परिणाम प्राप्त करने का एक उदाहरण यहां दिया गया है:
const temcrypt = require("temcrypt");
const filePath = "path/test.txt";
const mainKey = "your_secret_key";
const result = temcrypt.encrypt({
dataFiles: filePath,
mainKey: mainKey,
extraBytes: 128 // Optional: Add 128 extra bytes
});
console.log(result);
इस उदाहरण में, 'test.txt' को उस फ़ाइल के वास्तविक पथ से बदलें जिसे आप एन्क्रिप्ट करना चाहते हैं और 'your_secret_key' को एन्क्रिप्शन के लिए मुख्य कुंजी के रूप में सेट करें। result ऑब्जेक्ट में अद्वितीय हैश, मुख्य कुंजी, समय कुंजी और एन्क्रिप्टेड फ़ाइल का फ़ाइल पथ सहित एन्क्रिप्शन विवरण होंगे।
एक फ़ाइल डिक्रिप्ट करें:
पहले temcrypt के साथ एन्क्रिप्ट की गई फ़ाइल को डिक्रिप्ट करने के लिए, आप dataFiles पैरामीटर के साथ decrypt फ़ंक्शन का उपयोग कर सकते हैं। फ़ाइल को डिक्रिप्ट करने और डिक्रिप्शन परिणाम प्राप्त करने का एक उदाहरण यहां दिया गया है:
const temcrypt = require("temcrypt");
const filePath = "path/test.txt.trypt";
const mainKey = "your_secret_key";
const result = temcrypt.decrypt({
dataFiles: filePath,
mainKey: mainKey
});
console.log(result);
इस उदाहरण में, 'path/test.txt.trypt' को एन्क्रिप्टेड फ़ाइल के वास्तविक पथ से बदलें, और 'your_secret_key' को डिक्रिप्शन के लिए मुख्य कुंजी के रूप में सेट करें। परिणाम ऑब्जेक्ट में डिक्रिप्शन की स्थिति और सफल होने पर डिक्रिप्टेड डेटा शामिल होगा।
फ़ाइल को सफलतापूर्वक डिक्रिप्ट करने के लिए एन्क्रिप्शन के दौरान उपयोग की गई सही मुख्य कुंजी प्रदान करना याद रखें, ठीक उसी घंटे और मिनट पर जिस पर इसे एन्क्रिप्ट किया गया था। यदि मुख्य कुंजी गलत है या फ़ाइल के साथ छेड़छाड़ की गई है या समय गलत है, तो डिक्रिप्शन की स्थिति false होगी और डिक्रिप्टेड डेटा उपलब्ध नहीं होगा।
temcrypt एन्क्रिप्शन और डिक्रिप्शन से परे अतिरिक्त संचालन करने के लिए utils फ़ंक्शन प्रदान करता है। ये उपयोगिता फ़ंक्शन कार्यक्षमता और उपयोगिता को बढ़ाने के लिए डिज़ाइन किए गए हैं।
फ़ंक्शन सूची:
नीचे, आप विवरण और इसके उपयोगों को लागू करने का तरीका देख सकते हैं।
MainKey अपडेट करें:
changeKey उपयोगिता फ़ंक्शन आपको एन्क्रिप्टेड डेटा को बरकरार रखते हुए डेटा को एन्क्रिप्ट करने के लिए उपयोग की जाने वाली mainKey को बदलने की अनुमति देता है। यह तब उपयोगी होता है जब आप अपने एन्क्रिप्टेड डेटा की सुरक्षा बढ़ाना चाहते हैं या समय-समय पर mainKey को अपडेट करना चाहते हैं।
dataFiles (वैकल्पिक): temcrypt का उपयोग करके एन्क्रिप्ट की गई फ़ाइल का पथ।dataString (वैकल्पिक): temcrypt का उपयोग करके उत्पन्न एन्क्रिप्टेड स्ट्रिंग।mainKey (स्ट्रिंग): डेटा को एन्क्रिप्ट करने के लिए उपयोग की जाने वाली वर्तमान mainKey।newKey (स्ट्रिंग): नई mainKey जो वर्तमान mainKey को बदल देगी।const temcrypt = require("temcrypt");
const filePath = "test.txt.trypt";
const currentMainKey = "my_recent_secret_key";
const newMainKey = "new_recent_secret_key";
// Update mainKey for the encrypted file
const result = temcrypt.utils({
changeKey: {
dataFiles: filePath,
mainKey: currentMainKey,
newKey: newMainKey
}
});
console.log(result.message);
डेटा अखंडता जांचें:
check उपयोगिता फ़ंक्शन आपको temcrypt का उपयोग करके एन्क्रिप्ट किए गए डेटा की अखंडता को सत्यापित करने की अनुमति देता है। यह जांचता है कि कोई फ़ाइल या स्ट्रिंग एक मान्य temcrypt एन्क्रिप्टेड डेटा है या नहीं।
dataFiles (वैकल्पिक): जिस फ़ाइल की आप जांच करना चाहते हैं उसका पथ।dataString (वैकल्पिक): एन्क्रिप्टेड स्ट्रिंग जिसे आप जांचना चाहते हैं।const temcrypt = require("temcrypt");
const filePath = "test.txt.trypt";
const encryptedString = "..."; // Encrypted string generated by temcrypt
// Check the integrity of the encrypted File
const result = temcrypt.utils({
check: {
dataFiles: filePath
}
});
console.log(result.message);
// Check the integrity of the encrypted String
const result2 = temcrypt.utils({
check: {
dataString: encryptedString
}
});
console.log(result2.message);
हैश सत्यापित करें:
verify उपयोगिता फ़ंक्शन आपको इसके हैश मान का उपयोग करके एन्क्रिप्टेड डेटा की अखंडता को सत्यापित करने की अनुमति देता है। जांचता है कि एन्क्रिप्टेड डेटा आउटपुट प्रदान किए गए हैश मान से मेल खाता है या नहीं।
hash (स्ट्रिंग): सत्यापित करने के लिए हैश मान।dataFiles (वैकल्पिक): उस फ़ाइल का पथ जिसका हैश आप सत्यापित करना चाहते हैं।dataString (वैकल्पिक): एन्क्रिप्टेड स्ट्रिंग जिसका हैश आप सत्यापित करना चाहते हैं।const temcrypt = require("temcrypt");
const filePath = "test.txt.trypt";
const hashToVerify = "..."; // The hash value to verify
// Verify the hash of the encrypted File
const result = temcrypt.utils({
verify: {
hash: hashToVerify,
dataFiles: filePath
}
});
console.log(result.message);
// Verify the hash of the encrypted String
const result2 = temcrypt.utils({
verify: {
hash: hashToVerify,
dataString: encryptedString
}
});
console.log(result2.message);
निम्न तालिका temcrypt द्वारा विभिन्न त्रुटि परिदृश्यों को इंगित करने के लिए उपयोग किए जाने वाले महत्वपूर्ण त्रुटि कोड और उनके संबंधित त्रुटि संदेश प्रस्तुत करती है।
अधिक विस्तृत उपयोग उदाहरणों के लिए examples निर्देशिका देखें।
⚠️ अनुशंसा
किसी स्ट्रिंग या फ़ाइल का एन्क्रिप्शन आकार 16 KB (किलोबाइट्स) से कम होना चाहिए। यदि यह बड़ा है, तो आपके पास इसे डिक्रिप्ट करने के लिए पर्याप्त कम्प्यूटेशनल शक्ति होनी चाहिए। अन्यथा, आपका व्यक्तिगत कंप्यूटर सही मुख्य कुंजी संयोजन और उचित एन्क्रिप्शन गठन खोजने के लिए आवश्यक समय से अधिक हो जाएगा, और यह जानकारी को डिक्रिप्ट करने में सक्षम नहीं होगा।
ℹ️ टिप्स
- temcrypt के साथ आप अपनी जानकारी को बाद के दिनों में केवल उसी कुंजी से डिक्रिप्ट कर सकते हैं जो आपने उसी घंटे और मिनट पर दर्ज की थी जिस पर आपने एन्क्रिप्ट किया था।
- समय पर ध्यान दें, डिक्रिप्शन को पहले 2 से 10 सेकंड के बीच शुरू करने की अनुशंसा की जाती है, ताकि आपको सही कुंजी गठन उत्पन्न करने का लाभ मिले।
इस परियोजना की सामग्री स्वयं क्रिएटिव कॉमन्स एट्रिब्यूशन 3.0 लाइसेंस के तहत लाइसेंस प्राप्त है, और उस सामग्री को प्रारूपित और प्रदर्शित करने के लिए उपयोग किया जाने वाला अंतर्निहित स्रोत कोड MIT लाइसेंस के तहत लाइसेंस प्राप्त है।
कॉपीराइट (c) 2023 द्वारा Jose Pino
timeKey (स्ट्रिंग): एन्क्रिप्शन की समय कुंजी (निजी)।dataString (स्ट्रिंग): एन्क्रिप्टेड स्ट्रिंग।extraBytes (संख्या, वैकल्पिक): एन्क्रिप्शन के लिए उपयोग किए गए अतिरिक्त बाइट्स।dataFiles प्रदान किया जाता है:
hash (स्ट्रिंग): एन्क्रिप्टेड डेटा की वैधता सत्यापन के लिए उत्पन्न अद्वितीय हैश।mainKey (स्ट्रिंग): एन्क्रिप्शन के लिए उपयोग की जाने वाली मुख्य कुंजी।timeKey (स्ट्रिंग): एन्क्रिप्शन की समय कुंजी।dataFiles (स्ट्रिंग): एन्क्रिप्टेड फ़ाइल का फ़ाइल पथ।extraBytes (संख्या, वैकल्पिक): एन्क्रिप्शन के लिए उपयोग किए गए अतिरिक्त बाइट्स।status (बूलियन): डिक्रिप्शन विफलता को इंगित करने के लिए false।error_code (संख्या): डिक्रिप्शन विफलता के कारण को इंगित करने वाला एक त्रुटि कोड।message (स्ट्रिंग): डिक्रिप्शन विफलता की व्याख्या करने वाला एक वर्णनात्मक त्रुटि संदेश।| कोड | त्रुटि संदेश | विवरण |
|---|
| 420 | डिक्रिप्शन समय सीमा पार हो गई | डिक्रिप्शन प्रक्रिया अनुमत समय सीमा से अधिक समय लेती है। |
| 444 | डिक्रिप्शन विफल | डिक्रिप्शन प्रक्रिया में एक त्रुटि हुई। |
| 777 | कोई डेटा प्रदान नहीं किया गया | ऑपरेशन के लिए कोई डेटा प्रदान नहीं किया गया। |
| 859 | अमान्य temcrypt एन्क्रिप्टेड स्ट्रिंग | प्रदान की गई स्ट्रिंग एक मान्य temcrypt एन्क्रिप्टेड स्ट्रिंग नहीं है। |