Advertisement
impressive_i

Caesars encryption

Jan 21st, 2023 (edited)
890
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.04 KB | None | 0 0
  1. # Шифрование текста с помощью сдвига Цезаря
  2. # Репетитор IT mentor https://t.me/mentor_it
  3.  
  4. strOfChar = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ' . , : ; # № : $ = - + * /"
  5. listOfChar = strOfChar.lower().split(" ")
  6.  
  7. text = "This post tells in simple language about the essence of Caesars encryption."
  8.  
  9. """ Метод, шифрующий слово """
  10. def encryptedWord(word, k):
  11.     wordEncrypted = ''
  12.     for ch in word:
  13.         if(ch.isupper()):
  14.             indexOfChar = (listOfChar.index(ch.lower()) - k) % len(listOfChar)
  15.             wordEncrypted += listOfChar[indexOfChar].upper()
  16.         else:
  17.             indexOfChar = (listOfChar.index(ch) - k) % len(listOfChar)
  18.             wordEncrypted += listOfChar[indexOfChar]      
  19.     return wordEncrypted
  20.  
  21. """ Метод, дешифрующий слово """
  22. def decryptedWord(word, k):
  23.     wordDecrypted = ''
  24.     for ch in word:
  25.         if(ch.isupper()):
  26.             indexOfChar = (listOfChar.index(ch.lower()) + k) % len(listOfChar)
  27.             wordDecrypted += listOfChar[indexOfChar].upper()
  28.         else:
  29.             indexOfChar = (listOfChar.index(ch) + k) % len(listOfChar)
  30.             wordDecrypted += listOfChar[indexOfChar]    
  31.     return wordDecrypted
  32.  
  33. """ Метод, шифрующий текст в виде строки """
  34. def encryptedText(string, k):
  35.     encryptStr = ''
  36.     for word in string.split(" "):
  37.         encryptStr += encryptedWord(word, k) + " "  
  38.     return  encryptStr[:-1]      
  39.  
  40. """ Метод, дешифрующий текст в виде строки """
  41. def decryptedText(string, k):
  42.     decryptStr = ''
  43.     for word in string.split(" "):
  44.         decryptStr += decryptedWord(word, k) + " "
  45.     return  decryptStr[:-1]    
  46.  
  47.  
  48. print("Исходные текст: ", text)
  49. k = 1 #Ключ шифрования
  50. print("Зашифрованный текст: ", encryptedText(text, k))
  51. print("Расшифрованный текст: ", decryptedText(encryptedText(text, k), k))
  52.  
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement