Freitagsfrage: String-Encoding
#11
@RPP63: 
Zitat:Es tut mir leid für das Missverständnis und die Unannehmlichkeiten. Offensichtlich ist meine vorherige Antwort nicht korrekt, und ich danke Ihnen für die Korrektur.

Wenn Sie weitere Informationen zu einem anderen Thema haben oder spezifische Fragen haben, zu denen ich Ihnen helfen kann, lassen Sie es mich bitte wissen. Ich stehe Ihnen gerne zur Verfügung.
Fennek ist anscheinend mit dem Tipp weitergekommen. Völliger Müll war es also nicht. 

Abgesehen davon: ChatGPT richtig einzusetzen, ist die Kunst, aber so wie es aussieht:

You can't teach an old dog new tricks.
Hey, I am only taking a piss 
05 05 05
Antworten Top
#12
Hi,

für LCohen eine Version, die das Ergebnis in A2 der Tabelle ausgibt, hinter der die Funktion und die Sub stehen, wenn der String in A1 steht:

Code:
Option Explicit

Function decode(ByVal Tx As String) As String
Dim s As Long, p, x As Long, m As Long, q As Integer, y As Integer, e As String, b As Integer, t As Integer

s = 325197
t = Len(Tx)

ReDim p(t)

For b = 0 To t - 1
    p(b) = Mid(Tx, b + 1, 1)
Next b

For b = 0 To t - 1
    x = s * (b + 412) + (s Mod 21331)
    m = s * (b + 467) + (s Mod 43934)
    q = x Mod t
    y = m Mod t
    e = p(q)
    p(q) = p(y)
    p(y) = e
    s = (x + m) Mod 1769511
Next b
decode = Join(p, "")
End Function


Code:
Sub T_1()
Range("A2") = Mid(decode(Range("A1")), 1, 11)

End Sub


.xlsm   Constructor.xlsm (Größe: 15,19 KB / Downloads: 0)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#13
Hi,

also der Schalk in meinem Nacken hat mir folgende Routine eingeflüstert:

Code:
Function Kodieren(Wert As String) As String
Dim i As Long
Dim s As String
For i = 1 To WorksheetFunction.RandBetween(1, 4) / 2 * Len(Wert)
    s = s & Chr(WorksheetFunction.RandBetween(97, 122))
Next i
If Wert = "lofwvscrdcutometnpnisktoqurgycazhjxrb" Then s = "constructor"
Kodieren = s
End Function
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#14
Hallo,

da kann ich nur antworten mit

"30414C4C4F183033494E444C454I2A182K414E4B45"

oder als Code:

Code:
Sub Kindler()
Dim WSF As WorksheetFunction: Set WSF = Application.WorksheetFunction
Dim Tx As String, out As String, Ret As String

out = "30414C4C4F183033494E444C454I2A182K414E4B45"

For i = 1 To Len(out) Step 2
    Ret = Ret & Chr(WSF.Decimal(Mid(out, i, 2), Day(Now)))
Next i
Debug.Print Ret

End Sub

mfg
Antworten Top
#15
Hi,

bitte, immer wieder gerne.

Zum Glück habe ich mir das heute noch angeschaut, sonst hätte ich einen Monat warten oder das Programm ändern müssen. 100
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top


Gehe zu:


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