কম্পিউটার টিউটোরিয়াল

পাইথনে ভিজেনার সাইফার ব্যবহার করে স্ট্রিং এনক্রিপ্ট করার প্রোগ্রাম


मान लीजिए हमारे पास एक लोअरकेस अल्फाबेट स्ट्रिंग text है, और एक अन्य स्ट्रिंग है जिसे key कहते हैं। हमें एक नई स्ट्रिंग ढूंढनी है जहां text[i] का हर अक्षर key[i] के ऑफसेट के साथ दाईं ओर ले जाया जाता है। यहां key[i] द्वारा दर्शाया गया ऑफसेट वर्णमाला में उसकी स्थिति है (A=0, B=1 आदि)। यदि अक्षर ओवरफ्लो होता है, तो यह दूसरी तरफ लपेट जाता है।

उदाहरण के लिए, यदि इनपुट है text = "code", key = "team", तो आउटपुट होगा "vsdq"

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • cip := एक नई सूची
  • start := 'a' का ASCII
  • text से प्रत्येक l और key से प्रत्येक k के लिए, करें
    • shift := (k का ASCII) - start
    • pos := start + ((l का ASCII) - start + shift) mod 26
    • pos के वर्ण को cip के अंत में डालें
  • cip के स्ट्रिंग्स को जोड़ें और वापस करें

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

उदाहरण

class Solution:    def solve(self, text, key):       cip = []       start = ord('a')       for l, k in zip(text, key):          shift = ord(k) - start          pos = start + (ord(l) - start + shift) % 26          cip.append(chr(pos))       return ''.join([l for l in cip]) ob = Solution() text = "code" key = "team" print(ob.solve(text, key))

इनपुट

"code", "team"

आउटपुट

vsdq

  1. পাইথন প্রোগ্রাম দিয়ে লিস্টকে স্ট্রিংয়ে রূপান্তর

  2. পাইথনে লিস্টকে স্ট্রিংে কনভার্ট করা

  3. পাইথনে % ব্যবহার করে স্ট্রিং ফরম্যাটিং

  4. পাইথন প্রোগ্রাম: সেট ব্যবহার করে স্ট্রিং-এ স্বরবর্ণ (vowel) গণনা