Beste oplossers,
Ben mij momenteel aan het verdiepen in eenvoudige encryptie methode van Caesar Cipher
In bijlage een werkend voorbeeld van Caesar Cipher encryptie en decryptie.
Ik weet ook dat Caesar destijds enkel met het alfabet boodschappen versleutelde.
Ik bekijk het ruimer en in het voorbeeld zou ik de ascii tabel gebruiken met max 256 tekens.
het probleem in het voorbeeld is als de waarde van de key(rondes) dermate toeneemt, dan krijg ik een foutmelding. Is het teruggeven van de waarde goed ingestelt als de Ascci waarde plus Key meer zou zijn dan 256 om dan de waarde terug door te geven?
Private Sub Command1_Click()
Dim strEncryptedText As String
Dim strDecryptedText As String
Dim intKey As String
Dim I As Integer
intKey = 3
strText = txtcipher
txtanswer = strEncryptedText
For I = 1 To Len(strText)
'spatie's tussen woorden
If Asc(Mid(strText, I, 1)) = Int(32) Then
'Encoderen
strEncryptedText = strEncryptedText & " "
'Decoderen
strDecryptedText = strDecryptedText & " "
ElseIf Asc(Mid(strText, I, 1)) <= Int(256) Then
'Encoderen
strEncryptedText = strEncryptedText & Chr(Asc(Mid(strText, I, 1)) + intKey)
'Decoderen
strDecryptedText = strDecryptedText & Chr(Asc(Mid(strEncryptedText, I, 1)) - intKey)
ElseIf Asc(Mid(strText, I, 1)) >= Int(256) Then
'Encoderen
strEncryptedText = strEncryptedText & Chr(Asc(Mid(strText, I, 1)) + intKey)
'Decoderen
strEncryptedText = strDecryptedText & Chr((Asc(Mid(strEncryptedText, I, 1)) + intKey) - 256)
End If
Next
txtanswer = strEncryptedText
txtdecode = strDecryptedText
End Sub
Wie ziet de fout in de code?
Vriendelijke groeten,
Diezel