Bitte ein BIT
#1
Hallo,

einfache Verschlüsselungen mit XOR sind bekannt. Etwas interessanter ist

Code:
25 + (28 + (126 Xor Asc(Mid(Cypher, i, 1))) Xor 121)

oder als Function

Code:
Function ENC2(ByVal Tx As String) As String
Dim ac As Integer

For i = 1 To Len(Tx)
    ac = Asc(Mid(Tx, i, 1))
    ENC2 = ENC2 & Chr(25 + (28 + (126 Xor ac) Xor 121))
Next i

End Function

Dekodieren geht mit der Funktion, aber die Frage ist "warum"

Code:
Public Function DEC_2(ByVal Cy As String) As String
Dim ac As Integer, Out As String

For i = 1 To Len(Cy)
    ac = Asc(Mid(Cy, i, 1))

    If ac Mod 8 = 6 Then ac = ac - 16
    If ac Mod 4 = 2 Then ac = ac + 16
    If ac Mod 2 = 0 Then ac = ac - 4

    Out = Out & Chr((126 Xor ((ac Xor 121) - 28) + 25))
Next i

DEC_2 = Out
End Function

Die Vorlage kam aus Javascript, aber da ging die Umkehrung nicht:

Code:
var encrypt_data = function(e) {
    for (var o, t = btoa(encodeURIComponent(e)), n = "", r = 0; r < t.length; r++) o = 25 + (28 + (126 ^ t[r].charCodeAt(0)) ^ 121), n += String.fromCharCode(o);
    return n
};

mfg
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste