विषयसूची:

पायथन में सीज़र सिफर कार्यक्रम: 4 कदम
पायथन में सीज़र सिफर कार्यक्रम: 4 कदम

वीडियो: पायथन में सीज़र सिफर कार्यक्रम: 4 कदम

वीडियो: पायथन में सीज़र सिफर कार्यक्रम: 4 कदम
वीडियो: Caesar Cipher Explained with Solved Example ll Information and Cyber Security Course in Hindi 2024, नवंबर
Anonim
पायथन में सीज़र सिफर कार्यक्रम
पायथन में सीज़र सिफर कार्यक्रम

सीज़र सिफर एक प्राचीन और व्यापक रूप से इस्तेमाल किया जाने वाला सिफर है जो एन्क्रिप्ट और डिक्रिप्ट करना आसान है। यह पूरी तरह से नया वर्णमाला बनाने के लिए वर्णमाला के अक्षरों को स्थानांतरित करके काम करता है (एबीसीडीईएफ 4 अक्षरों में स्थानांतरित हो सकता है और ईएफजीएचआईजे बन जाएगा)।

सीज़र सिफर्स सबसे सुरक्षित सिफर नहीं हैं, लेकिन छोटे कार्यों के लिए अच्छे हैं जैसे कि गुप्त नोट्स पास करना या पासवर्ड को थोड़ा मजबूत बनाना। कोड को समझना वास्तव में आसान है, लेकिन यदि आपके पास विशेष वर्णमाला याद नहीं है तो इसे एन्क्रिप्ट करना कठिन हो सकता है।

इस प्रक्रिया को आसान बनाने के लिए, हम कंप्यूटर की शक्ति का उपयोग कर सकते हैं, विशेष रूप से प्रोग्रामिंग भाषा पायथन।

यह निर्देश आपको दिखाएगा कि एक प्रोग्राम कैसे बनाया जाए जो संदेशों को आपके आदेश पर एक सिफर में परिवर्तित करता है।

आपूर्ति

आपको केवल एक पायथन दुभाषिया की आवश्यकता है: IDLE, Pycharm, और Thonny कुछ अच्छे, मुफ्त विकल्प हैं (मैंने Pycharm का उपयोग किया है)

पायथन का बुनियादी ज्ञान

चरण 1: चर घोषित करना और इनपुट प्राप्त करना

चर घोषित करना और इनपुट प्राप्त करना
चर घोषित करना और इनपुट प्राप्त करना

वास्तव में वर्णमाला, संदेश, शिफ्ट, आदि के स्ट्रिंग (पाठ) मानों को संग्रहीत करने के लिए हमें चर का उपयोग करने की आवश्यकता है। हम चर 'वर्णमाला', 'आंशिकऑन', 'आंशिक दो' और 'नई वर्णमाला' घोषित करके शुरू करते हैं। मैंने अपने कोड में कैमल केस में वेरिएबल्स के नाम लिखे हैं (पहला शब्द लोअरकेस और दूसरा अपरकेस है) लेकिन आप इसे किसी भी तरह से लिख सकते हैं, जब तक आप इसे बाकी कोड में भी बदलना याद रखें।. वर्णमाला चर का मान "abcdefghijklmnopqrstuvwxyz" है। अन्य सभी चर "" पर सेट हैं, जो एक खाली स्ट्रिंग है क्योंकि हमारे पास अभी तक उनके मान नहीं हैं।

यह जो कर रहा है वह आंशिक प्रणाली स्थापित कर रहा है, जिसका उपयोग हम वास्तव में बदलाव बनाने के लिए कर रहे हैं। इसे बाद के चरण में समझाया जाएगा।

इसके बाद हमें यूजर से मैसेज और शिफ्ट वैल्यू प्राप्त करनी होगी। हम ऐसा करने के लिए इनपुट फ़ंक्शन का उपयोग करते हैं। कोड का यह भाग उपयोगकर्ता से एक संदेश और एक संख्या के लिए वर्णमाला को स्थानांतरित करने के लिए कहता है।

कोड:

वर्णमाला = "abcdefghijklmnopqrstuvwxyz"

आंशिक एक = ""

आंशिक दो = ""

नई वर्णमाला = ""

संदेश = इनपुट ("कृपया वह संदेश दर्ज करें जिसका आप अनुवाद करना चाहते हैं:")। निचला ()

key = int (इनपुट ("कृपया वह नंबर दर्ज करें जिसे आप स्थानांतरित करना चाहते हैं:"))

चरण 2: नई वर्णमाला बनाना

नई वर्णमाला बनाना
नई वर्णमाला बनाना

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

उदाहरण के लिए:

अनुक्रम - 123456789

आंशिक एक - 123; आंशिक दो - 456789

नया क्रम - 456789123

कोड:

अगर कुंजी == 0:

नई वर्णमाला = वर्णमाला

एलिफ कुंजी> 0:

आंशिक एक = वर्णमाला [: कुंजी]

आंशिक दो = वर्णमाला [कुंजी:]

न्यूअल्फाबेट = आंशिक दो + आंशिक एक

अन्यथा:

आंशिक एक = वर्णमाला [:(26 + कुंजी)]

आंशिक दो = वर्णमाला [(26 + कुंजी):]

न्यूअल्फाबेट = आंशिक दो + आंशिक एक

चरण 3: संदेश को स्थानांतरित करना

संदेश को स्थानांतरित करना
संदेश को स्थानांतरित करना

अब हमारे पास हमारी वर्णमाला और नई वर्णमाला है। जो कुछ बचा है वह संदेश को कोड में बदलना है।

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

कोड:

एन्क्रिप्टेड = "" रेंज में मैसेज_इंडेक्स के लिए (0, लेन (संदेश)):

अगर संदेश [message_index] == "":

एन्क्रिप्टेड + = ""

श्रेणी में Alphabet_index के लिए (0, लेन (newAlphabet)):

अगर संदेश [message_index] == वर्णमाला [alphabet_index]:

एन्क्रिप्टेड + = नया वर्णमाला [वर्णमाला_इंडेक्स]

प्रिंट (एन्क्रिप्टेड)

चरण 4: अतिरिक्त

अतिरिक्त
अतिरिक्त
अतिरिक्त
अतिरिक्त

कोड फ़ाइल संलग्न है।

सिफारिश की: