Verschlüsselungsalgo
Verfasst: 19.10.2007 15:34
Hallo
Ich möchte mich jetz n bisschen mit Verschlüsselung/Verschlüsselungsalgos auseinandersetzen...
Also hab ich das Forum ein wenig durchforstet und bin dabei auf folgenden Algorithmus gestoßen, den NichTheQuick gepostet hat:
Aber ich steig da nicht wirklich durch!
Was ist .Character für ein Typ?? Was ist der Unterschied zu .c?
Was bedeutet das \c??
wär toll wenn ihrs mir erklären könntet, damit ich mir den Code weiter angucken kann..
lg
Ich möchte mich jetz n bisschen mit Verschlüsselung/Verschlüsselungsalgos auseinandersetzen...
Also hab ich das Forum ein wenig durchforstet und bin dabei auf folgenden Algorithmus gestoßen, den NichTheQuick gepostet hat:
Code: Alles auswählen
EnableExplicit
Procedure.s Encode(Password.s, key.s)
Protected *c1.Character, *c2.Character, c.c, s.s
*c1 = @Password
*c2 = @key
c = $FF
While *c1\c
If *c2\c = 0 : *c2 = @key : EndIf
c = (*c1\c ! *c2\c) ! c
s + Right("0" + Hex(c), 2)
*c1 + SizeOf(Character)
*c2 + SizeOf(Character)
Wend
ProcedureReturn s
EndProcedure
Procedure.s DeCode(code.s, key.s)
Protected Password.s, *c1.Character, *c2.Character, c.c, a.l, c1.c
*c1 = @code
*c2 = @key
c = $FF
While *c1\c
If *c2\c = 0 : *c2 = @key : EndIf
If *c1\c <= '9' : c1 = *c1\c - '0' : Else : c1 = *c1\c - 'A' + 10 : EndIf
c1 * 16
*c1 + SizeOf(Character)
If *c1\c <= '9' : c1 + *c1\c - '0' : Else : c1 + *c1\c - 'A' + 10 : EndIf
Password + Chr(c1 ! *c2\c ! c)
c = c1
*c1 + SizeOf(Character)
*c2 + SizeOf(Character)
Wend
ProcedureReturn Password
EndProcedure
Define length.l, Password.s, key.s, code.s
Password = "Höhöhö"
key = "PureBoard"
code = Encode(Password, key)
Debug code
Debug DeCode(code, key)
Code: Alles auswählen
*c1.Character, *c2.Character
Code: Alles auswählen
While *c1\c
wär toll wenn ihrs mir erklären könntet, damit ich mir den Code weiter angucken kann..
lg