Hey
Ich habe einen kleinen Verschlüssler/Entschlüssler geschrieben, ich weiß das der Wettbewerb schon vorbei ist aber ich habs mir trotzdem mal vorgenommen und gestern noch zusammen gebastelt bekommen.
Meine Frage ist jetzt aber: Er funktioniert zwar einwand frei, zwar sind groß buchstaben noch nicht alle eingetragen, aber gibt es eine einfachere möglichkeit die Array zu bilden? Jeden Buchstaben abtippen, einen neuen Code mit 13 Buchstaben finden, das dauert sehr lange uns sieht nicht sehr professionell aus Ich könnte natürlich auch immer &_ machen aber das wird mir zu unübersichtlich.
Bitte guckt euch mal an und gebt ein kleines Feedback oder Verbesserungen würde mich sehr freuen.
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <Color.au3>
#include <GDIPlus.au3>
;~ Opt("GUIOnEventMode", 1)
;~ OnAutoItExitRegister("__GDIPlus_Shutdown")
Global $sABC[47][2] = [["a", "1329493329847"],["b", "2182358775187"],["c", "8728294834477"],["d", "7863873685182"],["e", "7865329725126"],["f", "6127635827612"],["g", "1872318726357"],["h", "8726382685295"],["i", "1897612374337"],["j", "8615523748346"],["k", "8762218729658"],["l", "9873623291875"],["m", "8872314987364"],["n", "8972636841444"],["o", "8978634829274"],["p", "9876236757677"],["q", "8598827463218"],["r", "9872617285384"],["s", "1287737128753"],["t", "8762638577627"],["u", "1222837788862"],["v", "1832791367722"],["w", "1289725534676"],["x", "7623783567686"],["y", "8723648237648"],["z", "8723473638473"],[" ", "9982768172365"],["1","8375623487623"],["2","8721342837827"],["3","3346677634767"],["4","8723347437743"],["5","8278378723719"],["6","2348762382728"],["7","2837629834628"],["8","2173876429837"],["9","1876287364213"],["0","8273736228763"],["!","9873689127631"],['"',"9728176213784"],["ß","9812871632874"],[".","1628362487364"],[",","8876132863428"],["-","3876284278432"], [":","3264128736514"],["ä","8756132745178"],["ö","6618263982736"],["ü","3128651265372"]]
Global $nmsg
$hGUI = GUICreate("Schlüssel GUI ©BadBunny :D", -1, -1)
;~ GUISetOnEvent(-3, "__GDIPlus_Shutdown")
$gui_edit1 = GUICtrlCreateEdit("", 0, 0, 200, 200)
$gui_edit2 = GUICtrlCreateEdit("", 200, 0, 200, 200)
$Button = GUICtrlCreateButton("Verschlüsseln", 0, 360, 100, 40)
$Button_veschluesseln = GUICtrlCreateButton("Entschlüsseln", 300, 360, 100, 40)
GUICtrlSetBkColor($gui_edit2, 0xfff00f)
GUISetState(@SW_SHOW)
While 1
$nmsg = GUIGetMsg($hGUI)
Switch $nmsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button
_crypt()
Case $Button_veschluesseln
_entcrypt()
EndSwitch
WEnd
Func _crypt()
[/autoit] [autoit][/autoit] [autoit]$sCode = GUICtrlRead($gui_edit1)
GUICtrlSetData($gui_edit2, "")
If $sCode <> "" Then
$sLen = StringLen($sCode)
For $i = 1 To StringLen($sCode)
$sMid = StringMid($sCode, $i, 1)
For $o = 0 To UBound($sABC) - 1
If $sMid = $sABC[$o][0] Then
$s2Code = GUICtrlRead($gui_edit2)
GUICtrlSetData($gui_edit2, $s2Code & $sABC[$o][1])
EndIf
Next
Next
EndIf
EndFunc ;==>_crypt
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _entcrypt()
[/autoit] [autoit][/autoit] [autoit]$sCode = GUICtrlRead($gui_edit2)
GUICtrlSetData($gui_edit1, "")
If $sCode <> "" Then
$sLen = StringLen($sCode)
For $i = 1 To StringLen($sCode) Step 13
$sMid = StringMid($sCode, $i, 13)
For $o = 0 To UBound($sABC) - 1
If $sMid = $sABC[$o][1] Then
$s2Code = GUICtrlRead($gui_edit1)
GUICtrlSetData($gui_edit1, $s2Code & $sABC[$o][0])
EndIf
Next
Next
EndIf
EndFunc ;==>_entcrypt
Func __GDIPlus_Shutdown()
Exit
EndFunc ;==>__GDIPlus_Shutdown
;Peter Kleissner
[/autoit]ich habs mal mit großbuchstaben versucht... Ich bekomme beim entschlüsseln wenn das Verschlüsselte = M ist mM zurück... ich denke das liegt daran das er es als großes und kleines ausließt... weil das für ihn das gleich ist... Wie kann ich das ändern? Der neue Code ist dann:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <Color.au3>
#include <GDIPlus.au3>
;~ Opt("GUIOnEventMode", 1)
;~ OnAutoItExitRegister("__GDIPlus_Shutdown")
Global $sABC[73][2] = [["a", "1329493329847"],["b", "2182358775187"],["c", "8728294834477"],["d", "7863873685182"],["e", "7865329725126"],["f", "6127635827612"],["g", "1872318726357"],["h", "8726382685295"],["i", "1897612374337"],["j", "8615523748346"],["k", "8762218729658"],["l", "9873623291875"],["m", "8872314987364"],["n", "8972636841444"],["o", "8978634829274"],["p", "9876236757677"],["q", "8598827463218"],["r", "9872617285384"],["s", "1287737128753"],["t", "8762638577627"],["u", "1222837788862"],["v", "1832791367722"],["w", "1289725534676"],["x", "7623783567686"],["y", "8723648237648"],["z", "8723473638473"],[" ", "9982768172365"],["1","8375623487623"],["2","8721342837827"],["3","3346677634767"],["4","8723347437743"],["5","8278378723719"],["6","2348762382728"],["7","2837629834628"],["8","2173876429837"],["9","1876287364213"],["0","8273736228763"],["!","9873689127631"],['"',"9728176213784"],["ß","9812871632874"],[".","1628362487364"],[",","8876132863428"],["-","3876284278432"], [":","3264128736514"],["ä","8756132745178"],["ö","6618263982736"],["ü","3128651265372"],["A", "1326483329847"],["B", "2182358775112"],["C", "8827298834477"],["D", "7863573665172"],["E", "7875329725126"],["F", "5187635827652"],["G", "1772318826359"],["H", "8826332685295"],["I", "1896612564337"],["J", "8617583798346"],["K", "8764218729698"],["L", "9879623211879"],["M", "8882319987964"],["N", "9342634841544"],["O", "1978674889274"],["P", "9856238757673"],["Q", "8528897483218"],["R", "9862616225384"],["S", "1257736128653"],["T", "8762838537657"],["U", "7232837278862"],["V", "6332599387782"],["W", "1589728534976"],["X", "9723788567682"],["Y", "9722748238648"],["Z", "8623475638873"]]
Global $nmsg
$hGUI = GUICreate("Schlüssel GUI ©BadBunny :D", -1, -1)
;~ GUISetOnEvent(-3, "__GDIPlus_Shutdown")
$gui_edit1 = GUICtrlCreateEdit("", 0, 0, 200, 200)
$gui_edit2 = GUICtrlCreateEdit("", 200, 0, 200, 200)
$Button = GUICtrlCreateButton("Verschlüsseln", 0, 360, 100, 40)
$Button_veschluesseln = GUICtrlCreateButton("Entschlüsseln", 300, 360, 100, 40)
GUICtrlSetBkColor($gui_edit2, 0xfff00f)
GUISetState(@SW_SHOW)
While 1
$nmsg = GUIGetMsg($hGUI)
Switch $nmsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button
_crypt()
Case $Button_veschluesseln
_entcrypt()
EndSwitch
WEnd
Func _crypt()
[/autoit] [autoit][/autoit] [autoit]$sCode = GUICtrlRead($gui_edit1)
GUICtrlSetData($gui_edit2, "")
If $sCode <> "" Then
$sLen = StringLen($sCode)
For $i = 1 To StringLen($sCode)
$sMid = StringMid($sCode, $i, 1)
For $o = 0 To UBound($sABC) - 1
If $sMid = $sABC[$o][0] Then
$s2Code = GUICtrlRead($gui_edit2)
GUICtrlSetData($gui_edit2, $s2Code & $sABC[$o][1])
EndIf
Next
Next
EndIf
EndFunc ;==>_crypt
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _entcrypt()
[/autoit] [autoit][/autoit] [autoit]$sCode = GUICtrlRead($gui_edit2)
GUICtrlSetData($gui_edit1, "")
If $sCode <> "" Then
$sLen = StringLen($sCode)
For $i = 1 To StringLen($sCode) Step 13
$sMid = StringMid($sCode, $i, 13)
For $o = 0 To UBound($sABC) - 1
If $sMid = $sABC[$o][1] Then
$s2Code = GUICtrlRead($gui_edit1)
GUICtrlSetData($gui_edit1, $s2Code & $sABC[$o][0])
EndIf
Next
Next
EndIf
EndFunc ;==>_entcrypt
Func __GDIPlus_Shutdown()
Exit
EndFunc ;==>__GDIPlus_Shutdown
;Peter Kleissner
[/autoit]