1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. hanssonny

Beiträge von hanssonny

  • Programme starten nicht korrekt

    • hanssonny
    • 14. Februar 2014 um 12:41

    Hi leute,

    ich hab ein generelles Problem dass es öfter vorkommt das mit Autoit geschriebene und compilierte Programme nicht korrekt starten.

    Beispiel ich habe ein tool mit gui wenn ich es starte reagieren die buttons nicht und führen nix aus ... man muss das Programm dann schließen und neu starten dann klappt es.

    das Problem tritt bei einigen anwendungen auf die jeweils sehr unterschiedliche aufgaben haben. also keine code redundanzen ...

    kennt jemand das problem. woran könnte das liegen?

    grüße

  • Serial Erstellen

    • hanssonny
    • 5. Oktober 2013 um 10:34

    ja aber deins funzt nicht .. Zahlen werden nicht Verschlüsselt

  • Serial Erstellen

    • hanssonny
    • 5. Oktober 2013 um 10:15

    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!

  • Serial Erstellen

    • hanssonny
    • 5. Oktober 2013 um 10:12

    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

  • Serial Erstellen

    • hanssonny
    • 5. Oktober 2013 um 10:06

    ne macht keinen unterschied.

    wenn reverse true oder false ist auch kein unterschied.

    ich hab $verschlüsselungskey auch mal auf 18 gesetzt ... aber auch keine veränderung bzw Verbesserung

  • Serial Erstellen

    • hanssonny
    • 5. Oktober 2013 um 09:28

    so?


    [autoit]

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

    [/autoit]


    Laut Wiki
    Da es in einigen Fällen auch sinnvoll ist, dass Zahlen nicht auf den ersten Blick erkannt werden können, wurde zudem ein Verfahren namens ROT18 entwickelt, welches bei den Großbuchstaben die Ziffern von 0 bis 9 einbezieht, bei den Kleinbuchstaben aber mit ROT13 identisch ist. ROT18 wird allerdings von keinem gängigen E-Mail-Programm oder Newsreader unterstützt. Alternativ gibt es das Verfahren ROT5, das die Zahlen extra behandelt und sie um fünf Stellen weiterschiebt.

  • Serial Erstellen

    • hanssonny
    • 4. Oktober 2013 um 20:43

    die rot methode gefällt mir jetzt eigentlich ganz gut bis auf das das die zahlen nicht wieder decodiert werden ...

    vielleicht finden wir noch raus warum nicht?

  • Serial Erstellen

    • hanssonny
    • 4. Oktober 2013 um 17:04

    naja weil wenn ich zahlen eingebe z.B. 16041990 werden die verschlüsselt das klappt soweit ... nur die entschlüsselung klappt dann nicht mehr

    Bsp:

    Original: 16041990
    Verschlüsselt: 49374223
    Enschlüsselt: 72607556

  • Serial Erstellen

    • hanssonny
    • 4. Oktober 2013 um 12:44

    ich habs so versucht ...

    aber das klappt nicht so ganz

    [autoit]

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

    [/autoit]
  • Serial Erstellen

    • hanssonny
    • 4. Oktober 2013 um 12:29

    ah ja war mein fehler^^ ich muss ja $string verarbeiten^^ hehe

    aber so werden ja nur a-z und A-Z verarbeitet zahlen nicht oder?

  • Serial Erstellen

    • hanssonny
    • 4. Oktober 2013 um 12:13

    so ganz klappt das noch nicht die funktion gibt nix zurück


    [autoit]


    $Verschluesselungskey= 13
    Func generate()
    ; Input Felder Auselsen
    $startdatum = GUICtrlRead($startdatuminput)
    $enddatum = GUICtrlRead($enddatuminput)
    $produktid = GUICtrlRead($produktidinput)

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

    ;String zusammensetzen
    $string = $startdatum & $enddatum & $produktid

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

    ;Verschlüsseln
    ;$key = _StringEncrypt(1,$string,"xelanin",1)

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

    ;$key = _Crypt_XOR($string, $Verschluesselungskey)
    $key = _RotString($key, $Verschluesselungskey)
    ConsoleWrite($key & @CRLF)
    GUICtrlCreateLabel("Dongle Serial (verschlüsselt):",40, 250, 600,30)
    GUICtrlCreateLabel($key,220, 250, 300,30)

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

    $clipput = GUICtrlCreateButton("Key Clip put",270,200,100)

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

    ;$encrypt = _Crypt_XOR($key, $Verschluesselungskey)
    $encrypt = _RotString($key, $Verschluesselungskey)
    GUICtrlCreateLabel("Dongle Serial (klartext):",40, 290, 600,30)
    GUICtrlCreateLabel($encrypt,220, 290, 600,30)

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

    ;$encrypt = _StringEncrypt(0,$key,"xelanin",1)

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

    EndFunc

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

    ;-------------------------------------------------------------------------------
    ;---Verschlüsselungs- / Entschüsselungs Funktion
    ;-------------------------------------------------------------------------------
    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]

    Return $iChar
    EndFunc
    ConsoleWrite(_RotString("DeinSerial", 13) & @CRLF)

    [/autoit]
  • Serial Erstellen

    • hanssonny
    • 4. Oktober 2013 um 07:57

    genau so ist es muss nicht sicher sein nur nicht auf anhieb erkennbar...

    z.B. Ablaufdatum soll in der serial drin sein weil die "tools" quasi ein "haltbarkeitsdatum" haben sollen.


    Die Funktion von dir chesstiger ist schon ganz nett gefällt mir ich würde es nur gerne noch so machen dass keine sonderzeichen sondern nur Buchstaben und Zahlen bei Rauskommen

  • Serial Erstellen

    • hanssonny
    • 30. September 2013 um 15:38

    Hallo Leute,

    ich möchte gerne eine Serien nummer für meine Produkte generieren. Die Serien nummer Selber besteht aus diversen wichtigen informationen.

    damit diese nicht von jedem ausgelesen werden können möchte ich diese verschlüsseln. Sie muss aber wieder entschlüsselt werden können.

    Ich hab dazu zunächst _StringEncrypt verwendet dabei entstehen aber sehr lange keys das möchte ich eigentlich nicht.

    meine infos die ich eingebe sind in der regel 18 Zeichen lang!


    mit der _String Encrypt kamen 80 Zeichen raus

    ideal wäre wenn aus den 18 so 24 Zeichen würden in dem Stil XXXXXX-XXXXXX-XXXXXX-XXXXXX

    Hätte mir da jemand eine idee?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™