Xor Verschlüsselung geht mit einer aussnahme nicht
Verfasst: 29.01.2005 22:25
Hi,
habe diesen kleinen ver/entschlüsselungs Code irgendwann mal hier aus dem Forum geklaut und vll. auch umgeschrieben ( ist schon lange her )
Nun wollte ich den Code für ein Netzwerkprogramm verwenden.
Ich hab diese Verschlüsselungstechnik schon öfters benutzt und sie hat sich immer als sehr gut erwiesen, aber irgendwie (?!) funktioniert sie mit einen bestimmten string nicht und ich dachte vielleicht könnt ihr mit helfen woran es liegt:
Wie ihr seht, wird 'a' richtig verschlüsselt und entschlüsselt und 'b' wird nicht richtig entschlüsselt, bzw. verschlüsselt. Das passiert nur wenn 'b' = "CMstart css" ist. Eigentlich ist es mir ja egal, ich könnte ja für mein programm einfach b umbenennen, aber ich habe angst, dass es öfters passieren könnte. Ich zweifel quasi an der zuverlässigkeit von meinem dem Code
Wäre toll, wenn jemand herrausfinden könnte, woran das liegt
mfg. Kooky
habe diesen kleinen ver/entschlüsselungs Code irgendwann mal hier aus dem Forum geklaut und vll. auch umgeschrieben ( ist schon lange her )
Nun wollte ich den Code für ein Netzwerkprogramm verwenden.
Ich hab diese Verschlüsselungstechnik schon öfters benutzt und sie hat sich immer als sehr gut erwiesen, aber irgendwie (?!) funktioniert sie mit einen bestimmten string nicht und ich dachte vielleicht könnt ihr mit helfen woran es liegt:
Code: Alles auswählen
Procedure.s EnCodeString(file.s)
Length.l = Len(file.s)
*Address = AllocateMemory(Length)
PokeS(*Address, file.s, Length)
KeyByte.l = %10010101
For a.l = 0 To Length - 1
Byte.b = PeekB(*Address + a)
c.b = Sin(a) * 220
d.b = Cos(a-32) * a
KeyByte = Byte ! KeyByte ! c ! d ! length
PokeB(*Address + a, KeyByte)
Next
file.s = PeekS(*Address, Length)
FreeMemory(*Address)
ProcedureReturn file.s
EndProcedure
Procedure.s DeCodeString(file.s)
Length.l = Len(file.s)
*Address = AllocateMemory(Length)
PokeS(*Address, file.s, Length)
Keybyte.l = %10010101
For a.l = 0 To Length - 1
Byte.b = PeekB(*Address + a)
c.b = Sin(a) * 220
d.b = Cos(a-32) *a
PByte.b = Byte ! KeyByte ! c ! d ! length
KeyByte = Byte
PokeB(*Address + a, PByte)
Next
file.s = PeekS(*Address, Length)
FreeMemory(*Address)
ProcedureReturn file.s
EndProcedure
a.s = "Hallo, das ist ein Test! ;-)"
Debug "a: "+Chr(34)+a+Chr(34) ; a Unverschlüsselt
a = encodestring(a)
Debug "a: "+Chr(34)+a+Chr(34) ; a Verschlüsselt
a = decodestring(a)
Debug "a: "+Chr(34)+a+Chr(34) ; a wieder Entschlüsselt
b.s = "CMstart css"
Debug "b: "+Chr(34)+b+Chr(34) ; b Unverschlüsselt
b = encodestring(b)
Debug "b: "+Chr(34)+b+Chr(34) ; b Verschlüsselt
b = decodestring(b)
Debug "b: "+Chr(34)+b+Chr(34) ; b wieder Entschlüssel - Doch leider nicht richtig :(
Wäre toll, wenn jemand herrausfinden könnte, woran das liegt
mfg. Kooky