Code : Tout sélectionner
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\..\..\AutoIt - Icones\Cadenas.ico
#AutoIt3Wrapper_outfile=BM'StringEncrypt.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; DESCRIPTIF SCRIPT
; MODELE DE SCRIPT : 2.25
; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Dim $script_titre, $script_desc, $auteur, $maj
$script_titre="BM'CODAGE MOT DE PASSE"
$script_desc="Cryptage des mots de passe dans les scripts"
$auteur="BM"
$maj="30/03/11"
; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <String.au3>
#include <Date.au3>
$crypt_niv=2
#Region ### START Koda GUI section ### Form=r:\scripts\autoit - bm'tools\sécurité\stringencrypt\stringencrypt.kxf
Global $Form1_1 = GUICreate("BM'CODAGE MOT DE PASSE", 331, 495, -1, -1)
Global $MenuItem1 = GUICtrlCreateMenu("&Fichier")
Global $MenuQuitter = GUICtrlCreateMenuItem("Quitter", $MenuItem1)
Global $MenuItem2 = GUICtrlCreateMenu("?")
Global $Menuweb = GUICtrlCreateMenuItem("Site web de l'auteur", $MenuItem2)
Global $MenuMaj = GUICtrlCreateMenuItem("Vérifier les mises à jours", $MenuItem2)
Global $MenuApropos = GUICtrlCreateMenuItem("A propos de...", $MenuItem2)
Global $Group1 = GUICtrlCreateGroup(" Mot de passe à crypter ou nom de champ ($) ", 7, 7, 319, 49)
Global $Input_a_crypt = GUICtrlCreateInput("", 15, 23, 297, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group2 = GUICtrlCreateGroup(" Clé ", 8, 120, 315, 47)
Global $Input_cle = GUICtrlCreateInput("", 16, 136, 233, 21)
GUICtrlSetData(-1,_bAlea(Random(10, 12, 1)))
Global $Btn_gen = GUICtrlCreateButton("GEN", 256, 134, 59, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group3 = GUICtrlCreateGroup(" Action ", 8, 175, 313, 53)
Global $Btn_cryptage = GUICtrlCreateButton("Cryptage", 23, 191, 131, 25, $WS_GROUP)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
Global $Btn_decryptage = GUICtrlCreateButton("Décryptage", 176, 191, 129, 25, $WS_GROUP)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group4 = GUICtrlCreateGroup(" Résultat ", 7, 231, 314, 47)
Global $Input_resultat = GUICtrlCreateInput("", 14, 247, 299, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group5 = GUICtrlCreateGroup(" AutoIt ", 7, 280, 314, 186)
Global $Input_include = GUICtrlCreateInput("#Include <String.au3>", 16, 317, 297, 21)
Global $Label1 = GUICtrlCreateLabel("Include nécessaire", 15, 299, 93, 17)
Global $Label2 = GUICtrlCreateLabel("Code", 15, 351, 29, 17)
Global $Edit_code = GUICtrlCreateEdit("", 15, 368, 298, 89)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Group6 = GUICtrlCreateGroup(" Variable ", 8, 64, 313, 49)
Global $Input_var = GUICtrlCreateInput("$", 16, 80, 297, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $GUI_EVENT_CLOSE
Exit
Case $MenuQuitter
Exit
Case $MenuWeb
ShellExecute("http://www.bmweb.fr")
Case $MenuMaj
_bMaj()
Case $MenuApropos
MsgBox(0,$script_titre,$script_desc & @LF & $auteur & " - v. " & $maj)
Case $Btn_cryptage
If GUICtrlRead($Input_a_crypt)="" Then
MsgBox(0,$script_titre,"Merci de renseigner le mot de passe à crypter")
GUICtrlSetState($Input_a_crypt, $GUI_FOCUS)
ContinueLoop
EndIf
If GUICtrlRead($Input_cle)="" Then
MsgBox(0,$script_titre,"Merci de renseigner la clé de cryptage")
GUICtrlSetState($Input_cle, $GUI_FOCUS)
ContinueLoop
EndIf
GUICtrlSetData($Input_resultat, _StringEncrypt(1,GUICtrlRead($Input_a_crypt),GUICtrlRead($Input_cle),$crypt_niv))
If StringLeft(GUICtrlRead($Input_a_crypt),1)="$" Then
GUICtrlSetData($Edit_code,GUICtrlRead($Input_var) & '=GUICtrlRead(' & GUICtrlRead($Input_a_crypt) & ')' & @CRLF & GUICtrlRead($Input_var) & '=_StringEncrypt(0,' & GUICtrlRead($Input_var) &',"' & GUICtrlRead($Input_cle) &'",'& $crypt_niv & ')')
Else
GUICtrlSetData($Edit_code,GUICtrlRead($Input_var) & '="' & GUICtrlRead($Input_resultat) & '"' & @CRLF & GUICtrlRead($Input_var) & '=_StringEncrypt(0,' & GUICtrlRead($Input_var) &',"' & GUICtrlRead($Input_cle) &'",'& $crypt_niv & ')')
EndIf
Case $Btn_decryptage
If GUICtrlRead($Input_cle)="" Then
MsgBox(0,$script_titre,"Merci de renseigner la clé de cryptage")
GUICtrlSetState($Input_cle, $GUI_FOCUS)
ContinueLoop
EndIf
If GUICtrlRead($Input_a_crypt)<>"" Then
GUICtrlSetData($Input_resultat, _StringEncrypt(0,GUICtrlRead($Input_a_crypt),GUICtrlRead($Input_cle),2))
Else
GUICtrlSetData($Input_resultat,"")
EndIf
GUICtrlSetData($Edit_code, GUICtrlRead($Input_var) & '=_StringEncrypt(1, GUICtrlRead(' & GUICtrlRead($Input_a_crypt) &'),"' & GUICtrlRead($Input_cle) &'",'& $crypt_niv & ')')
;GUICtrlSetData($Edit_code,"")
;GUICtrlSetData($Input_var,"")
Case $Btn_gen
$reponse=MsgBox(4,$script_titre,"Etes-vous sûr de vouloir générer un mode passe aléatoire ?")
If $reponse=6 Then
GUICtrlSetData($Input_cle,_bAlea(Random(10, 12, 1)))
GUICtrlSetData($Input_resultat,"")
GUICtrlSetData($Edit_code,"")
EndIf
EndSwitch
WEnd
Func _bAlea($lg)
$alea = ""
$alea_tab = stringsplit("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890","")
For $i = 1 To $lg
$alea &= $alea_tab[Random(1, 62, 1)]
Next
Return $alea
EndFunc
; MISE A JOUR
; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Func _bMaj()
$maj_prg="BM'StringEncrypt"
$maj_dossier=StringReplace($maj_prg,"'","")
$maj_dossier=StringLower($maj_dossier)
$ping=Ping("www.google.fr")
If $ping<>0 Then
; Récupère la version locale
$maj_version_locale=$maj
; Rècupère numéro de la version en ligne
$version_url = "http://www.bmweb.fr/bmtools/" & $maj_dossier & "/version.txt"
$version_tmp = "version.txt"
$version_recup = InetGet($version_url, $version_tmp)
If $version_recup <> 0 Then
$maj_version_distante = FileRead($version_tmp)
If FileExists($version_tmp) Then FileDelete($version_tmp)
EndIf
$maj_version_locale=$maj
; Conversion des dates
$maj_version_locale="20" & StringMid($maj_version_locale,7,2) & "/" & StringMid($maj_version_locale,4,2) & "/" & StringMid($maj_version_locale,1,2)
$maj_version_distante="20" & StringMid($maj_version_distante,7,2) & "/" & StringMid($maj_version_distante,4,2) & "/" & StringMid($maj_version_distante,1,2)
$maj_nbj = _DateDiff( 'D',$maj_version_locale,$maj_version_distante)
;MsgBox(0,"test",$maj_version_locale & @LF & $maj_version_distante & @LF & $maj_nbj)
If $maj_nbj=0 Then ; And @Compiled
MsgBox(0,$script_titre,"Aucune mise à jour n'est disponible pour l'instant")
Else
SplashOff()
SplashTextOn($script_titre, $script_titre & " - RÉCUPERATION DE LA DERNIÈRE MISE À JOUR", 500, 46, -1,-1,33,"", 9)
$exe_url = "http://www.bmweb.fr/bmtools/" & $maj_dossier & "/" & $maj_prg
$exe_recup = InetGet($exe_url, @TempDir & "\" & $maj_prg & ".exe")
;FileCopy($maj_url & @ScriptName,@TempDir & "\" & @ScriptName & ".tmp")
FileDelete(@TempDir & "\Maj.bat")
$cmd_txt = 'ping -n 5 127.0.0.1 > nul' & @CRLF _
& ':loop' & @CRLF _
& 'del "' & FileGetShortName(@ScriptFullPath) & '" > nul' & @CRLF _
& 'if exist "' & FileGetShortName(@ScriptFullPath) & '" goto loop' & @CRLF _
& 'move "' & FileGetShortName(@TempDir) & "\" & $maj_prg & ".exe" & '" "' & FileGetShortName(@ScriptDir) & '\' & $maj_prg & ".exe" & '"' & @CRLF _
& '"' & FileGetShortName(@ScriptFullPath) & '"' & @CRLF _
& 'del ' & @TempDir & '\Maj.bat'
FileWrite(FileGetShortName(@TempDir) & "\Maj.bat", $cmd_txt)
Run(FileGetShortName(@TempDir) & "\Maj.bat","", @SW_HIDE)
SplashOff()
MsgBox(0,$script_titre,"La mise à jour a été téléchargée avec succès. " & @LF & "Ce programme va être fermé puis réouvert pour lancer la nouvelle version")
Exit
EndIf
EndIf
EndFunc
; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX