Code : Tout sélectionner
#include <GUIConstants.au3>
#include <String.au3>
#include <Array.au3>
;on install le fichier ini
FileInstall("C:\TEMP\mdp.mdp",@MyDocumentsDir&"\mdp.mdp")
filemove(@MyDocumentsDir&"\mdp.mdp",@MyDocumentsDir&"\mdp.ini")
;on lit le mot de passe courant
$mdp2=IniRead(@MyDocumentsDir&"\mdp.ini","FBD739F4C925","FBD739F4C925","NotFound")
$mdp2decrypt=_StringEncrypt(0,$mdp2,"pswd");mot de passe d'origine mdp crypté = FBD739F4C925
If $mdp2decrypt="mdp" Then
_guifirstlog()
ElseIf $mdp2decrypt<>"mdp" Then
_guilog()
EndIf
;on reintialise le mot de passe a la premiere utilisation
Func _guifirstlog()
$mdp2decrypt="mdp"
MsgBox(48,"Première utilisation","Il s'agit de votre première utilisation vous devez personnaliser le mot de passe")
$guinewmdp=GUICreate("Personnalisation du mot de passe",140,150)
GUICtrlCreateLabel("Nouveau mot de passe",10,10,120,15)
$newmdp1=GUICtrlCreateInput("password",10,30,120,20,$ES_PASSWORD)
GUICtrlCreateLabel("Confirmation",10,60,120,15)
$newmdp2=GUICtrlCreateInput(" ",10,80,120,20,$ES_PASSWORD)
$buttonnewmdp=GUICtrlCreateButton("valider",10,110,55,-1,$BS_DEFPUSHBUTTON) ;bouton valid
$buttonnewmdpannul=GUICtrlCreateButton("Annuler",75,110,55) ;bouton annul
GUISetState()
while 1
$msgnewmdp=GUIGetMsg()
Switch $msgnewmdp
case $GUI_EVENT_CLOSE
filemove(@MyDocumentsDir&"\mdp.ini",@MyDocumentsDir&"\mdp.mdp",1)
FileDelete(@MyDocumentsDir&"\mdp.ini")
Exit
case $buttonnewmdp
$newmdp1read=GUICtrlRead($newmdp1)
$newmdp2read=GUICtrlRead($newmdp2)
if $newmdp1read<>$newmdp2read then
MsgBox(48,"ERREUR","Veuillez saisir deux mot de passe identiques")
ElseIf $newmdp1read=$newmdp2read then
$newmdpcrypt=_StringEncrypt(1,$newmdp1read,"pswd")
IniWrite(@MyDocumentsDir&"\mdp.ini","FBD739F4C925","FBD739F4C925",$newmdpcrypt)
guidelete($guinewmdp)
filemove(@MyDocumentsDir&"\mdp.mdp",@MyDocumentsDir&"\mdp.ini")
ExitLoop
EndIf
case $buttonnewmdpannul
filemove(@MyDocumentsDir&"\mdp.ini",@MyDocumentsDir&"\mdp.mdp",1)
FileDelete(@MyDocumentsDir&"\mdp.ini")
Exit
EndSwitch
WEnd
EndFunc
;on se connecte
Func _guilog()
$guimdplog=GUICreate("Connexion",160,95)
GUICtrlCreateLabel("Saisissez votre mot de passe",10,10,150,15)
$mdplog=GUICtrlCreateInput("mot de passe",10,30,140,20,$ES_PASSWORD)
$buttonmdplog=GUICtrlCreateButton("valider",10,60,60,-1,$BS_DEFPUSHBUTTON ) ;bouton valid
$buttonmdplogannul=GUICtrlCreateButton("Annuler",90,60,60) ;bouton annul
GUISetState()
while 1
$msgmdplog=GUIGetMsg()
Switch $msgmdplog
case $GUI_EVENT_CLOSE
filemove(@MyDocumentsDir&"\mdp.ini",@MyDocumentsDir&"\mdp.mdp",1)
FileDelete(@MyDocumentsDir&"\mdp.ini")
Exit
case $buttonmdplog
$mdplogread=GUICtrlRead($mdplog)
$mdplogreadcrypt=_StringEncrypt(1,$mdplogread,"pswd")
$mdpreadexist=IniRead(@MyDocumentsDir&"\mdp.ini","FBD739F4C925","FBD739F4C925","NotFound")
if $mdplogreadcrypt<>$mdpreadexist then
MsgBox(48,"ERREUR","Mot de passe erroné")
ElseIf $mdplogreadcrypt=$mdpreadexist then
guidelete($guimdplog)
filemove(@MyDocumentsDir&"\mdp.mdp",@MyDocumentsDir&"\mdp.ini")
ExitLoop
EndIf
case $buttonmdplogannul
filemove(@MyDocumentsDir&"\mdp.ini",@MyDocumentsDir&"\mdp.mdp",1)
FileDelete(@MyDocumentsDir&"\mdp.ini")
Exit
EndSwitch
WEnd
EndFunc
;creation de la fenetre principale de l'appli
$gui=GUICreate("Maux de passe",160,255) ;creation de la fenetre princiale
$listappli=GUICtrlCreateCombo ("Choix de compte",20,10,120)
;partie de lutin44--------------------------------------------------------------------------
;$list=IniReadSectionNames(@MyDocumentsDir&"\mdp.ini")
;If @error Then
;MsgBox(4096,"Erreur","Fichier ini introuvable.")
;Else
;For $i = 1 To $list[0]
;GUICtrlSetData(-1,$list[$i])
;Next
;EndIf
;-----------------------------------------------------------------------------------------
; partie de Tlem---------------------------------------------------------------------------
$Array = IniReadSectionNames(@MyDocumentsDir&"\mdp.ini")
Dim $Log_Pwd[$Array[0]]
For $i = 1 to $Array[0]
$Log_Pwd[$i] = $Array[$i] & "|" & _StringEncrypt(0,IniReadSectionNames(@MyDocumentsDir&"\mdp.ini"),"pswd")
Next
_ArrayDisplay($Log_Pwd, "Login et mot de passe")
GUICtrlSetData(-1,$Log_Pwd)
;-----------------------------------------------------------------------------------------
$Button_1=GUICtrlCreateButton("Lire le compte",10,70,135) ;creation du bouton de lecture
$Button_2=GUICtrlCreateButton("Ajouter un compte",10,100,135) ;creation du bouton de nouveau mot de passe
$button_3=GUICtrlCreateButton("Modifier un compte",10,130,135) ;creation du bouton de modification de mot de passe
$button_4=GUICtrlCreateButton("Supprimer un compte",10,160,135) ;creation du bouton de suppression de mot de passe
$button_5=GUICtrlCreateButton("Modifier le mot de passe",10,220,135) ;creation du bouton de suppression de mot de passe
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
filemove(@MyDocumentsDir&"\mdp.ini",@MyDocumentsDir&"\mdp.mdp",1)
FileDelete(@MyDocumentsDir&"\mdp.ini")
ExitLoop
Case $Button_1
_gui1()
case $Button_2
_gui2()
case $button_3
_gui3()
case $button_4
_gui4()
case $button_5
_gui5()
EndSwitch
Wend
;fin de la fenetre principale
;fonction lire de mot de passe
Func _gui1()
While 1
$appli=GUICtrlRead($listappli)
$appliencrypt=_StringEncrypt(1,$appli,"pswd")
$compte=IniReadSection(@MyDocumentsDir&"\mdp.ini",$appliencrypt)
If @error Then
MsgBox(4096, "", "Error occurred, probably no INI file.")
Else
For $i = 1 To $compte[0][0]
$applilogindecrypt=_StringEncrypt(0,$compte[$i][0],"pswd")
$applimdpdecrypt=_StringEncrypt(0,$compte[$i][1],"pswd")
ClipPut($applimdpdecrypt)
MsgBox(64,"Lecture du compte","Application:"&$appli&@CRLF&"Login:"&$applilogindecrypt&@CRLF&"Mot de passe:"&$applimdpdecrypt)
Next
EndIf
ExitLoop
WEnd
EndFunc
;fonction creation de nouveau compte
Func _gui2()
$gui2=GUICreate("Nouveau compte",145,155,-1,-1,-1,-1,$gui)
$newcpt=GUICtrlCreateInput("Application",10,10,120)
$newlogin=GUICtrlCreateInput("Login",10,40,120)
$newmdp=GUICtrlCreateInput("Mot de passe",10,70,120)
$buttonnewmdp=GUICtrlCreateButton("valider",10,100,55,-1,$BS_DEFPUSHBUTTON) ;creation du bouton de suppression de mot de passe
$buttonnewmdpannul=GUICtrlCreateButton("annuler",75,100,55) ;creation du bouton de suppression de mot de passe
GUISetState(@SW_SHOW)
GUISwitch($gui2)
While 1
$msgcre=GUIGetMsg()
Switch $msgcre
case $GUI_EVENT_CLOSE
GUIDelete($gui2)
exitloop
Case $buttonnewmdp
$newcptread=GUICtrlRead($newcpt)
$newloginread=GUICtrlRead($newlogin)
$newmdpread=GUICtrlRead($newmdp)
if $newloginread="Login"or 0 then MsgBox(0,"Nouveau compte","Veuillez saisir un compte")
If $newloginread<>"Login"or 0 then
$newcptreadencrypt=_StringEncrypt(1,$newcptread,"pswd")
$newloginreadencrypt=_StringEncrypt(1,$newloginread,"pswd")
$newmdpreadencrypt=_StringEncrypt(1,$newmdpread,"pswd")
IniWrite(@MyDocumentsDir&"\mdp.ini",$newcptreadencrypt,$newloginreadencrypt,$newmdpreadencrypt)
MsgBox(64,"Nouveau compte","Nouveau compte créé, relancez cette application pour prise en compte")
GUIDelete($gui2)
ExitLoop
EndIf
Case $buttonnewmdpannul
GUIDelete($gui2)
exitloop
EndSwitch
WEnd
EndFunc