[R] Identification avant lancement

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
yanius
Niveau 4
Niveau 4
Messages : 72
Enregistré le : mer. 23 févr. 2011 17:51
Status : Hors ligne

[R] Identification avant lancement

#1

Message par yanius »

Bonjour à toute la communauté !!

Donc voila je reviens avec mes questions (youpii ! ;))
Donc voila je voulais savoir si il existait un script qui permet de demander une identification lors du lancement (avec Nom et Mot De Passe).
Je voulais le rajouter au début d'un autre script...

Merci Beaucoup !!!
Modifié en dernier par yanius le mar. 29 mars 2011 21:55, modifié 1 fois.
0.110001000000000000000001000
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 405
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] Identification avant lancement

#2

Message par scorp84 »

Bonjour,

Voici un bout de code qui pourrait peut être faire l'affaire :

Code : Tout sélectionner

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <String.au3>
#include <WindowsConstants.au3>

Global $Form1 = GUICreate("IDENTIFICATION", 286, 90, 192, 124)
Global $Group1 = GUICtrlCreateGroup(" Code d'identification ", 8, 6, 271, 78)
Global $Input_code = GUICtrlCreateInput("", 15, 22, 258, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
Global $Btn_valider = GUICtrlCreateButton("Valider", 198, 50, 75, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()

    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            ContinueLoop

        Case $Btn_valider
            $code=GUICtrlRead($Input_code)
            $code=_StringEncrypt(1,$code,"dQKzRsBWqoyd",2)

            If $code="F0F3727F81C8C7E2D2285B67013AAF3B" Then
                $ident=1
                GUIDelete($Form1)
                ExitLoop
            EndIf
 EndSwitch
WEnd

If $ident<>1 then Exit

; Reste du code ...

 
Dans cet exemple, le code est 1234. J'ai utilisé la fonction StringEncrypt pour que le code ne soit pas visible directement si le script est décompilé (c'est juste une petite protection car de toute façon quel que soit la complexité du codage, une analyse du code source permettra toujours de le retrouver).

Il y a juste un code mais tu peux facilement lui rajouter un 2ème champ pour le nom.

Amicalement.

BM
Avatar du membre
yanius
Niveau 4
Niveau 4
Messages : 72
Enregistré le : mer. 23 févr. 2011 17:51
Status : Hors ligne

Re: [..] Identification avant lancement

#3

Message par yanius »

Merci beaucoup pour ce code !!
Il marche très bien !

Par contre pourrais-tu m'expliquer cette partie ? (je ne suis pas encore très qualifié dans la programmation ( :)))

Code : Tout sélectionner

If $code="F0F3727F81C8C7E2D2285B67013AAF3B" Then
                $ident=1
                GUIDelete($Form1)
                ExitLoop
            EndIf
0.110001000000000000000001000
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Identification avant lancement

#4

Message par matwachich »

C'est ton mot de passe après passage par _StringEncrypt
Fait:

Code : Tout sélectionner

_StringEncrypt(0, "F0F3727F81C8C7E2D2285B67013AAF3B", "dQKzRsBWqoyd", 2)
Pour le voir en claire

PS: @scorp84: Pour un mot de passe il vaut mieux utiliser un Hash, car quand on le crypte, on peut facilement le décrypter comme je l'ai fait plus haut, mais un Hashage est irréversible.
Voir du coté de _Crypt_HashData
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 405
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] Identification avant lancement

#5

Message par scorp84 »

@matwachich : Merci pour l'info, je vais pouvoir améliorer mes scripts ;-)

@yanius :

Code : Tout sélectionner

$ident=1
Cela permet que si l'utilisateur arrive à fermer la fenêtre d'identification d'une manière autre qu'en donnant le bon code, la ligne qui est tout de suite après ta boucle

Code : Tout sélectionner

If $ident<>1 then Exit
sort du script et du coup ne donne pas accès à la suite de ton programme.

Code : Tout sélectionner

GUIDelete($Form1)
Cela te permet de fermer la fenêtre d'identification

Code : Tout sélectionner

ExitLoop
Tant que tu ne donnes pas le bon code, tu restes dans la boucle de contrôle


N'hésite pas si tu as encore besoin (et n'oublie pas le R pour ton premier message si c'est OK ;-)

Amicalement.

BM
Avatar du membre
yanius
Niveau 4
Niveau 4
Messages : 72
Enregistré le : mer. 23 févr. 2011 17:51
Status : Hors ligne

Re: [R] Identification avant lancement

#6

Message par yanius »

Merci pour ces explications !!
Mais comment as tu fais pour savoir que la forme crypter de 1234 est F0F3727F81C8C7E2D2285B67013AAF3B ?
0.110001000000000000000001000
albu68
Niveau 2
Niveau 2
Messages : 19
Enregistré le : ven. 04 févr. 2011 15:51
Status : Hors ligne

Re: [R] Identification avant lancement

#7

Message par albu68 »

Merci pour ce code.
Même question que yanuis ! ?
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [R] Identification avant lancement

#8

Message par Iste »

Et bien il a simplement crypté une foi et regardé le résultat.....

Code : Tout sélectionner

ClipPut(_StringEncrypt(1,"1234","dQKzRsBWqoyd",2))
Signez ici
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 405
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [R] Identification avant lancement

#9

Message par scorp84 »

Exact :-)

Afin de pouvoir le faire facilement, j'ai fait un petit script qui me permet de pouvoir crypter facilement un mot de passe quand je code :
► Afficher le texte
Mais je vais l'améliorer après le conseil que m'a donné Matwachich.

Amicalement.

BM

@yanius :
PS : Vu que c'était pour du perso, le code n'est pas trop commenté. N'hésite pas si tu as des questions.
Modifié en dernier par zeshrek le mer. 30 mars 2011 12:45, modifié 1 fois.
Raison : Merci d'utiliser la balise SPOIL quand le code source fait plus de qq lignes (cf regles du forum)
Avatar du membre
yanius
Niveau 4
Niveau 4
Messages : 72
Enregistré le : mer. 23 févr. 2011 17:51
Status : Hors ligne

Re: [R] Identification avant lancement

#10

Message par yanius »

Encore merci pour ces explications !!
0.110001000000000000000001000
Avatar du membre
yanius
Niveau 4
Niveau 4
Messages : 72
Enregistré le : mer. 23 févr. 2011 17:51
Status : Hors ligne

Re: [R] Identification avant lancement

#11

Message par yanius »

Euh juste une dernière question, qu'est ce que la clé dQKzRsBWqoyd ?
Est-elle un type de cryptage ?
0.110001000000000000000001000
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 405
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [R] Identification avant lancement

#12

Message par scorp84 »

C'est juste une clé aléatoire générée à partir du script que j'ai fait pour crypter tes mots de passe et dont je t'ai donné le source.

Au démarrage, il génère une clé aléatoire qui comprend entre 10 et 12 caractères alphanumériques.

Amicalement.

BM
Répondre