Page 1 sur 1

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

Posté : sam. 26 déc. 2009 15:19
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 !

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

Posté : sam. 26 déc. 2009 16:21
par guitarist
Je vais essayer de te le faire le plus rapidement possible^^

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

Posté : sam. 26 déc. 2009 17:31
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^^

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

Posté : sam. 26 déc. 2009 18:24
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.

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

Posté : sam. 26 déc. 2009 19:35
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

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

Posté : sam. 26 déc. 2009 20:42
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