L
LastChaosTyp
Guest
Python : Verschlüsselungsalgorithmus
Hallo liebe PCGHler,
In der Schule lerne ich grade Python. Nun ist mir die Idee gekommen, mal ein eigenes Verschlüsselungsprogramm zu bauen. Das ganze soll eine grafische Oberfläche haben. Man gibt dem Programm einen Dateipfad zu einer beliebigen .txt Datei. Nun drückt der Benutzer auf den entsprechenden Button für zB. "Verschlüsseln" und der Inhalt der Datei wird mit einem Passwort! verschlüsselt. Wenn man eine Datei entschlüsseln will, muss man nur das Passwort und den Dateipfad angeben und die Datei wird wieder in den Ursprungszusatnd versetzt. Ich kann soweit mit Python umgehen, dass ich die Dateien lesen/schreiben kann und ein GUI bekomme ich auch ohne Weiteres hin. Fehlt mir "nur noch" der Verschlüsselungsalgorithmus mit einer Passwort-Funktion!. Ich habe hier einen VisualBasic-Code gefunden, der genau das kann. Kann das einer von euch in Python übersetzen?
Das ganze basiert auf der VernamCodierung. Ich bedanke mich schonmal für alle hilfreichen Antworten 
Liebe Grüße
Henri K.
Hallo liebe PCGHler,
In der Schule lerne ich grade Python. Nun ist mir die Idee gekommen, mal ein eigenes Verschlüsselungsprogramm zu bauen. Das ganze soll eine grafische Oberfläche haben. Man gibt dem Programm einen Dateipfad zu einer beliebigen .txt Datei. Nun drückt der Benutzer auf den entsprechenden Button für zB. "Verschlüsseln" und der Inhalt der Datei wird mit einem Passwort! verschlüsselt. Wenn man eine Datei entschlüsseln will, muss man nur das Passwort und den Dateipfad angeben und die Datei wird wieder in den Ursprungszusatnd versetzt. Ich kann soweit mit Python umgehen, dass ich die Dateien lesen/schreiben kann und ein GUI bekomme ich auch ohne Weiteres hin. Fehlt mir "nur noch" der Verschlüsselungsalgorithmus mit einer Passwort-Funktion!. Ich habe hier einen VisualBasic-Code gefunden, der genau das kann. Kann das einer von euch in Python übersetzen?
Code:
Public Class Form1
Public Function VernamCode(ByVal sOriginal As String, ByVal sPassword As String) As String
Dim i As Long
Dim aktpos As Long
Dim bAkt As Byte
Dim bCode As Byte
VernamCode = ""
aktpos = 1
For i = Len(sPassword) + 1 To Len(sOriginal)
sPassword = sPassword & Mid(sPassword, aktpos, 1)
aktpos += 1
If aktpos > Len(sPassword) Then aktpos = 1
Next i
For i = 1 To Len(sOriginal)
bAkt = Asc(Mid(sOriginal, i, 1))
bCode = Asc(Mid(sPassword, i, 1))
VernamCode = VernamCode & Chr(bAkt Xor bCode)
Next i
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sOriginal As String
Dim sPassword As String
Dim sCode As String
sOriginal = TextBox1.Text
sPassword = TextBox4.Text
sCode = VernamCode(sOriginal, sPassword)
TextBox3.Text = sCode
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim sOriginal As String
Dim sPassword As String
Dim sCode As String
sCode = TextBox1.Text
sPassword = TextBox4.Text
sOriginal = VernamCode(sCode, sPassword)
TextBox3.Text = sOriginal
End Sub
End Class

Liebe Grüße
Henri K.
und auch die sind dann nicht vollständig. kommt halt auch drauf an, in welcher art und weise du verschlüsseln magst. geht ganz simpel von ner cesar? verschlüsselung wo man einfach jeden buchstaben um x stellen verschiebt (im alphabet) bis hin zu sonstwas für kompliziertem zeugs.
Die Sprache ist ja auch eigentlich nicht für sowas gemacht, aber das ist halt die, in der ich mich halbwegs gut auskenne 