सीज़र सिफर एल्गोरिथम
सीज़र सिफर एल्गोरिथ्म सबसे सरल और सबसे व्यापक रूप से ज्ञात एन्क्रिप्शन तकनीकों में से एक है। यह एक प्रकार का प्रतिस्थापन सिफर है जिसमें प्लेनटेक्स्ट के प्रत्येक अक्षर को एक अक्षर से बदल दिया जाता है जो वर्णमाला के नीचे कुछ निश्चित स्थान रखता है।
उदाहरण के लिए
3 की बाईं शिफ्ट के साथ, D को A से बदल दिया जाएगा, E, B बन जाएगा, और इसी तरह आगे भी। हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले तर्क के रूप में एन्क्रिप्ट होने के लिए एक स्ट्रिंग लेता है और दूसरे तर्क के रूप में एक शिफ्ट राशि लेता है।
शिफ्ट राशि एक धनात्मक या ऋणात्मक पूर्णांक हो सकती है (एक धनात्मक शिफ्ट दाईं ओर एक शिफ्ट का प्रतीक है जबकि नकारात्मक से बाईं ओर)।
उदाहरण
निम्नलिखित कोड है -
const str = 'thisIsAString'; const getMap = (legend, shift) => { return legend.reduce((charsMap, currentChar, charIndex) => { const copy = { ...charsMap }; let ind = (charIndex + shift) % legend.length; if (ind < 0) { ind += legend.length; }; copy[currentChar] = legend[ind]; return copy; }, {}); }; const encrypt = (str, shift = 0) => { const legend = 'abcdefghijklmnopqrstuvwxyz'.split(''); const map = getMap(legend, shift); return str .toLowerCase() .split('') .map(char => map[char] || char) .join(''); }; console.log(encrypt(str, 6));
आउटपुट
कंसोल पर आउटपुट निम्नलिखित है -
znoyoygyzxotm