[..] Génération de mot de passe NON aléatoirement

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Josef
Niveau 4
Niveau 4
Messages : 76
Enregistré le : jeu. 02 juil. 2009 21:16
Status : Hors ligne

[..] Génération de mot de passe NON aléatoirement

#1

Message par Josef »

Bonjour,

J'ai repris la fonction d'un générateur de mot de passe.
Je l'ai modfié, renommer etc.
Voici le code :

Code : Tout sélectionner


Func _PassWordGenerate($PassWordLen, $CharFlag)
    Local $PassWrd, $Global
    If $CharFlag = 1 Then
        $SpecialChar = StringSplit("&'_:;,.!@#$%*()-=+[]\/?", "")
        For $X = 1 To $SpecialChar[0]
            $Global &= $SpecialChar[$X]
        Next
        $Array = StringSplit("abcdefghijklmnopqrstuvwxyz" & $Global, "")
    Else

        $Array = StringSplit("abcdefghijklmnopqrstuvwxyz", "")
    EndIf


    For $X = 1 To $PassWordLen
        $PassWrd &= $Array[Random(1, $Array[0], 1)]
    Next

    Return $PassWrd
EndFunc   ;==>_PassWordGenerate
 
Celle ci génére un nombre "aléatoirement".
Je voudrais moi, que celui ci génére des lettre comme ceci :
_PassWordGenerate(2,0) :
aa
ab
ac
ad
ae
af
...
ba
bb
bc
...
...
zy
zz
Merci de vos réponses rapides !
guitarist
Niveau 6
Niveau 6
Messages : 235
Enregistré le : mar. 02 déc. 2008 16:59
Status : Hors ligne

Re: [..] Génération de mot de passe NON aléatoirement

#2

Message par guitarist »

Je vais essayer de te le faire le plus rapidement possible^^
guitarist
Niveau 6
Niveau 6
Messages : 235
Enregistré le : mar. 02 déc. 2008 16:59
Status : Hors ligne

Re: [..] Génération de mot de passe NON aléatoirement

#3

Message par guitarist »

Voilà je l'ai faite ta fonction la voici^^ :

Code : Tout sélectionner

;===============================================================================
; Description:      Returns a password string without special chars.
; Parameter(s):     $N is the nomber of char
;                   $b is the nomber of the first letter
;                   $Nmb is the nomber of password to create               
;                                 
; Requirement(s):   None
; Return Value(s):  Return a string.
;
; Author(s):        guitarist
; Note(s):
; Examples:         MsgBox (0,"",_Passwordgenerator2 (2,1,200))
;===============================================================================
Func _Passwordgenerator2 ($N,$b,$Nmb)
    $MDP = ""
    $Array = StringSplit("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789","")

    $c=1
If $N <=26 Then 
For $z = 1 to $Nmb  
    For $a = 1 to $N-1
        $MDP &= $Array[$b]
    Next
    $MDP &= $Array[$c] & " "
    $c +=1
    If $c = 63 Then
        $c = 1
        $b +=1
    EndIf   
Next
EndIf
Return $MDP
EndFunc
Si il y a un souci fait signe^^
Josef
Niveau 4
Niveau 4
Messages : 76
Enregistré le : jeu. 02 juil. 2009 21:16
Status : Hors ligne

Re: [..] Génération de mot de passe NON aléatoirement

#4

Message par Josef »

J'ai testé, merci beaucoup mais ce n'est pas que je veux.

Je veux que l'alphabet ne sois que des minuscules. Ni chiffres, Ni lettres majuscules.
Ce qui nous fais que le Max de lettres est de 26. ( a-z )

La fonction devra permettre de choisir la longueur de lettre.
Maintenant, voila ce que je veux :
Si on prend pour _Pass(2) ; 2Lettres
► Afficher le texteLa génération des lettres..
Enfin, chez pas, vous comprenez maintenant ?

Donc,
Enfaite a chaque _Pass(2) La fonction doit comprendre qu'il doit reprendre la ou il était.
Par exmeple :

Code : Tout sélectionner

MsgBox(64,"","Commencement : "& _Pass(2))
Il a marqué : aa
On refé l'action :

Code : Tout sélectionner

MsgBox(64,"","Suivant : "& _Pass(2))
Il a marqué : ab

Il dois retenir lui a ou il était.
Vous avez compris ?
Merci.
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: [..] Génération de mot de passe NON aléatoirement

#5

Message par Iste »

Ca revient a un simple changement de base
C'est des maths de base, mais je suis pas encore assez en forme pour le faire x)
Un début de code

Code : Tout sélectionner

Func _gen($raz = 0)
    If Not IsDeclared("SAVE_GEN") Then Global $SAVE_GEN = 1
    
    If $raz Then
        $SAVE_GEN = 1
        Return 1
    EndIf
    
    Local $Gen = ""
    Local $Array = StringSplit("abcdefghijklmnopqrstuvwxyz","")
    
    ;Convertir $SAVE_GEN de base 10 a base $Array[0]
EndFunc
Signez ici
guitarist
Niveau 6
Niveau 6
Messages : 235
Enregistré le : mar. 02 déc. 2008 16:59
Status : Hors ligne

Re: [..] Génération de mot de passe NON aléatoirement

#6

Message par guitarist »

Pour la mémoration (je crois que c ce mot^^) j'aurai preferer plutot changer la facon dapeller la fonction que de changer cette derniere
Répondre