Serial Erstellen

  • also ich habs gelöst ...

    es muss sein

    weil wir rot 18 verwenden müssen dabei werden buchstaben um 13 verschoben und zahlen um 5

    If (($iChar >= Asc("0")) And ($iChar <= Asc("9"))) Then
    $iChar = Mod((($iChar - Asc("0")) + 5), 10) + Asc("0")
    EndIf

  • Entschuldigung, mein Fehler bei der Reverse-Funktion:

    Spoiler anzeigen
    [autoit]


    Func _RotString($sText, $iRot, $bReverse = False)

    [/autoit] [autoit][/autoit] [autoit]

    $aiASCII = StringToASCIIArray($sText)

    [/autoit] [autoit][/autoit] [autoit]

    For $iChar = 0 To UBound($aiASCII) - 1
    $aiASCII[$iChar] = _RotN($aiASCII[$iChar], $iRot, $bReverse)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Return StringFromASCIIArray($aiASCII)
    EndFunc ;==>_RotString

    [/autoit] [autoit][/autoit] [autoit]

    Func _RotN($iChar, $iRot, $bReverse)

    [/autoit] [autoit][/autoit] [autoit]

    If (($iChar >= Asc("A")) And ($iChar <= Asc("Z"))) Then
    $iChar = Mod((($iChar - Asc("A")) + Abs($bReverse * 26 - $iRot)), 26) + Asc("A")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If (($iChar >= Asc("a")) And ($iChar <= Asc("z"))) Then
    $iChar = Mod((($iChar - Asc("a")) + Abs($bReverse * 26 - $iRot)), 26) + Asc("a")
    EndIf
    If (($iChar >= Asc("0")) And ($iChar <= Asc("9"))) Then
    $iChar = Mod((($iChar - Asc("0")) + Abs($bReverse * 10 - $iRot)), 10) + Asc("0")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Return $iChar
    EndFunc ;==>_RotN

    [/autoit] [autoit][/autoit] [autoit]

    $sCrypt = _RotString("DeinSerial123", 10)
    $sDecrypt = _RotString($sCrypt, 10, True)

    [/autoit] [autoit][/autoit] [autoit]

    ConsoleWrite($sCrypt & ":" & $sDecrypt & @CRLF)

    [/autoit]

    lg

  • so geht es auch:


    [autoit]

    Func _RotString($sText, $iRot, $bReverse = False)
    If $bReverse Then $iRot = 26 - $iRot
    $aiASCII = StringToASCIIArray($sText)

    [/autoit][autoit][/autoit][autoit]

    For $iChar = 0 To UBound($aiASCII) - 1
    $aiASCII[$iChar] = _RotN($aiASCII[$iChar], $iRot)
    Next

    [/autoit][autoit][/autoit][autoit]

    Return StringFromASCIIArray($aiASCII)
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func _RotN($iChar, $iRot)
    If (($iChar >= Asc("A")) And ($iChar <= Asc("Z"))) Then
    $iChar = Mod((($iChar - Asc("A")) + $iRot), 26) + Asc("A")
    EndIf

    [/autoit][autoit][/autoit][autoit]

    If (($iChar >= Asc("a")) And ($iChar <= Asc("z"))) Then
    $iChar = Mod((($iChar - Asc("a")) + $iRot), 26) + Asc("a")
    EndIf

    [/autoit][autoit][/autoit][autoit]

    If (($iChar >= Asc("0")) And ($iChar <= Asc("9"))) Then
    $iChar = Mod((($iChar - Asc("0")) + 5), 10) + Asc("0")
    EndIf

    [/autoit][autoit][/autoit][autoit]

    Return $iChar
    EndFunc

    [/autoit]


    Vielen Dank!

  • :wacko:

    Ok, ich krieg das heute morgen nicht auf die Reihe.
    Ich schreib nachher nochmal.

    Edit:

    Na klar, die Verschlüsslung steht auf 10 Stellen. :D

    Spoiler anzeigen
    [autoit]


    Func _RotString($sText, $iRot, $bReverse = False)

    [/autoit] [autoit][/autoit] [autoit]

    $aiASCII = StringToASCIIArray($sText)

    [/autoit] [autoit][/autoit] [autoit]

    For $iChar = 0 To UBound($aiASCII) - 1
    $aiASCII[$iChar] = _RotN($aiASCII[$iChar], $iRot, $bReverse)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Return StringFromASCIIArray($aiASCII)
    EndFunc ;==>_RotString

    [/autoit] [autoit][/autoit] [autoit]

    Func _RotN($iChar, $iRot, $bReverse)

    [/autoit] [autoit][/autoit] [autoit]

    If (($iChar >= Asc("A")) And ($iChar <= Asc("Z"))) Then
    $iChar = Mod((($iChar - Asc("A")) + Abs($bReverse * 26 - $iRot)), 26) + Asc("A")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If (($iChar >= Asc("a")) And ($iChar <= Asc("z"))) Then
    $iChar = Mod((($iChar - Asc("a")) + Abs($bReverse * 26 - $iRot)), 26) + Asc("a")
    EndIf
    If (($iChar >= Asc("0")) And ($iChar <= Asc("9"))) Then
    $iChar = Mod((($iChar - Asc("0")) + Abs($bReverse * 10 - Mod($iRot, 10))), 10) + Asc("0")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Return $iChar
    EndFunc ;==>_RotN

    [/autoit] [autoit][/autoit] [autoit]

    $sCrypt = _RotString("DeinSerial123", 13)
    $sDecrypt = _RotString($sCrypt, 13, True)

    [/autoit] [autoit][/autoit] [autoit]

    ConsoleWrite($sCrypt & ":" & $sDecrypt & @CRLF)

    [/autoit]