Freitag, 20. Februar 2009

Caesar-Chiffre in Python

Mir war etwas langweilig und da ich mich aktuell sehr für Verschlüsselungen interessiere habe ich mich mal hingesetzt und eine einfache Caesar-Chiffre in Python geschrieben. Vielleicht kann es ja jemand gebrauchen :)

  1. # Einfaches Programm zur Anwendung einer Caesar-Chiffre  
  2.   
  3. class Caesar(object):  
  4.     def crypt(self, case):  
  5.         if case == 1:  
  6.             self.wort = raw_input('Bitte geben Sie das zu verschluesselnde Wort ein: ')  
  7.             self.schluessel = int(raw_input('Bitte geben Sie den Schluessel ein (numerisch): '))  
  8.         elif case == 2:   
  9.             self.wort = raw_input('Bitte geben Sie das zu entschluesselnde Wort ein: ')  
  10.             self.schluessel = int(raw_input('Bitte geben Sie den Schluessel ein (numerisch): '))  
  11.             self.schluessel = self.schluessel - (self.schluessel*2)   
  12.                  
  13.         wort = ''  
  14.         for x in self.wort:  
  15.             i = chr(ord(x)+self.schluessel)  
  16.             wort = wort + i    
  17.         return wort  
  18.       
  19.     def menu(self):  
  20.         print 'Menue: '  
  21.         print '1) Verschluesseln'  
  22.         print '2) Entschluesseln'  
  23.         return int(raw_input())  
  24.           
  25. if __name__ == "__main__":   
  26.     x = Caesar()  
  27.     wort = x.crypt(x.menu())  
  28.     print '\n'+wort