Hallo zusammen,
nen Freund von mir versucht in VB nen Programm zu erstellen, mit dem man per RSA-Verfahren, Ver- und Entschlüsseln kann. Das Verschlüsseln klappt, aber das Entschlüsseln will einfach nicht funktionieren. Beim Entschlüsseln kommen immer andere Buchstaben raus, als eigentlich sollen. Richtig verschlüsselt wird der Text, dass hat er mit nem RSA Rechner im Internet nachgeprüft. Kann mir bzw. ihm jemand helfen?
Hier der Code:
Mit freundlichen Grüßen Golox
nen Freund von mir versucht in VB nen Programm zu erstellen, mit dem man per RSA-Verfahren, Ver- und Entschlüsseln kann. Das Verschlüsseln klappt, aber das Entschlüsseln will einfach nicht funktionieren. Beim Entschlüsseln kommen immer andere Buchstaben raus, als eigentlich sollen. Richtig verschlüsselt wird der Text, dass hat er mit nem RSA Rechner im Internet nachgeprüft. Kann mir bzw. ihm jemand helfen?
Hier der Code:
PHP:
Public Sub rsa()
Dim ansi As Integer
Dim i As Integer
Dim txtin As String = txtinput.Text
Dim txtout As String = ""
Dim schlüssel = txtschlüssel.Text
Dim rsa As String = txtrsa.Text
Dim ansi_len As String = ""
Dim a As Integer
'txtschlüssel auf Gültigkeit prüfen
If schlüssel = Nothing Or "0" Then
MsgBox("Bitte geben Sie an, um wie viele Stellen Sie die Zeichen verschieben möchten.", _
MsgBoxStyle.Critical, "Bitte nicht 0 (Null) eingeben!")
txtschlüssel.Text = ""
Return
End If
If schlüssel < -1000000000 Or schlüssel > 1000000000 Then
MsgBox("Bitte geben Sie keine Werte über 1.000.000.000 bzw. unter -1.000.000.000 an.", _
MsgBoxStyle.Critical, "Maximalwerte überschritten")
txtschlüssel.Text = ""
Return
End If
'txtin auf Gültigkeit prüfen
If txtin = "" Then MsgBox("Bitte geben Sie einen Text zum Verschlüsseln/Entschlüsseln ein.", _
MsgBoxStyle.Critical, "Kein Text")
If modus <> 23 Then a = 1 Else a = Len(rsa)
'Kodieren
For i = 1 To Len(txtin) Step a
'Absätze übernehmen
Select Case modus
Case 13 'RSA verschlüsseln
ansi_len = Asc(Mid(txtin, i, 1)) ^ schlüssel Mod rsa
Do Until Len(ansi_len) = Len(rsa)
ansi_len = 0 & ansi_len
Loop
MsgBox(ansi_len)
Case 23 'RSA entschlüsseln
'ansi = Mid(txtin, i, Len(rsa))
ansi = Mid(txtin, i, Len(rsa)) ^ schlüssel Mod rsa
MsgBox(ansi)
'ansi = ansi ^ schlüssel - rsa * Int(ansi ^ schlüssel / rsa)
End Select
If modus <> 13 Then
txtout = txtout & Chr(ansi)
Else
txtout = txtout & ansi_len
End If
Next i
txtoutput.Text = txtout
End Sub
Mit freundlichen Grüßen Golox