[R] Générateur de mots de passe mais précis.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
kakashi545
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 26 déc. 2008 11:45
Status : Hors ligne

[R] Générateur de mots de passe mais précis.

#1

Message par kakashi545 »

bonjour je recherche un petit script que génère un mot de passe aléatoire mais précis
bon c'est un peu flou en faite je voudrai que les 3 premiers caractères soit 3 chiffres aléatoire compris entre 1 et 9 (inclus) que les 3 prochains caractère soit 3 lettres compris entre a et z (tout le temps en minuscule) et que les 4 prochains caractères soit encore 4 chiffres compris entre 1 et 9 (inclus)
j'espère que c'est assez clair et que vous pourriez m'aidez .
merci d'avance.
Modifié en dernier par kakashi545 le mer. 24 mars 2010 19:22, modifié 1 fois.
Adenadels
Niveau 2
Niveau 2
Messages : 15
Enregistré le : dim. 24 mai 2009 11:22
Localisation : Strasbourg
Status : Hors ligne

Re: générateur de mots de passe mais précis.

#2

Message par Adenadels »

C'est un peu compliqué (car repiqué d'un script plus complexe).. mais ça marche, et ça te donne une idée sur comment faire.

Code : Tout sélectionner

MsgBox(0, '', _CalculPw())

Func _CalculPw()
  Local $Pass = ""
  $StringNombr = _ScrambleWord("01234567890123456789012345", Random() / 3 * 100)
  $Pass =  StringMid($StringNombr, Mod(StringMid(Random() / 3, 1, 2), 26) + 1, 1)
  $StringNombr = _ScrambleWord("01234567890123456789012345", Random() / 3 * 100)
  $Pass &= StringMid($StringNombr, Mod(StringMid(Random() / 7, 2, 2), 26) + 1, 1)
  $StringNombr = _ScrambleWord("01234567890123456789012345", Random() / 3 * 100)
  $Pass &= StringMid($StringNombr, Mod(StringMid(Random() / 5, 3, 2), 26) + 1, 1)
  $StringMinus = _ScrambleWord("abcdefghijklmnopqrstuvwxyz", Random() / 3 * 100)
  $Pass &= StringMid($StringMinus, Mod(StringMid(Random() / 3, 4, 2), 26) + 1, 1)
  $StringMinus = _ScrambleWord("abcdefghijklmnopqrstuvwxyz", Random() / 3 * 100)
  $Pass &= StringMid($StringMinus, Mod(StringMid(Random() / 5, 5, 2), 26) + 1, 1)
  $StringMinus = _ScrambleWord("abcdefghijklmnopqrstuvwxyz", Random() / 3 * 100)
  $Pass &= StringMid($StringMinus, Mod(StringMid(Random() / 7, 4, 2), 26) + 1, 1)
  $StringNombr = _ScrambleWord("01234567890123456789012345", Random() / 3 * 100)
  $Pass &= StringMid($StringNombr, Mod(StringMid(Random() / 7, 3, 2), 26) + 1, 1)
  $StringNombr = _ScrambleWord("01234567890123456789012345", Random() / 3 * 100)
  $Pass &= StringMid($StringNombr, Mod(StringMid(Random() / 5, 2, 2), 26) + 1, 1)
  $StringNombr = _ScrambleWord("01234567890123456789012345", Random() / 3 * 100)
  $Pass &= StringMid($StringNombr, Mod(StringMid(Random() / 3, 1, 2), 26) + 1, 1)
  $StringNombr = _ScrambleWord("01234567890123456789012345", Random() / 3 * 100)
  $Pass &= StringMid($StringNombr, Mod(StringMid(Random() / 7, 5, 2), 26) + 1, 1)

  Return $Pass
EndFunc   ;==>_Calcul

Func _ScrambleWord($sWord, $iSeed)
    If StringLen($sWord) < 2 Then Return $sWord
    Local $aSeq = _GetSequence(StringLen($sWord), $iSeed), $i, $sRet = ""
    For $i = 1 To StringLen($sWord)
        $sRet &= StringMid($sWord, $aSeq[$i], 1)
    Next
    Return $sRet
  EndFunc


Func _GetSequence($iLength, $iSeed)
    Local $aRet[$iLength + 1], $i, $j, $k
    $aRet[0] = $iLength
    For $i = 1 To $iLength
        $aRet[$i] = $i
    Next
    SRandom($iSeed)
    For $i = 1 To $iLength
        $j = Random(1, $iLength, 1)
        $k = $aRet[$j]
        $aRet[$j] = $aRet[$i]
        $aRet[$i] = $k
    Next
    Return $aRet
EndFunc
Salutations
Jean-Luc
kakashi545
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 26 déc. 2008 11:45
Status : Hors ligne

Re: générateur de mots de passe mais précis.

#3

Message par kakashi545 »

merci beaucoup c'est exactement ce que je rechercher
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: [R]générateur de mots de passe mais précis.

#4

Message par matwachich »

STOP!
ca va pas la tête! :D
Tous ca pour ca!

Code : Tout sélectionner

$pass = ""

For $i = 1 To 3 Step 1
    $pass &= Random(1,9,1)
Next

For $i = 1 To 3 Step 1
    $pass &= Chr(Random(97,122,1))
Next

For $i = 1 To 4 Step 1
    $pass &= Random(1,9,1)
Next

MsgBox(0,"Pass",$pass)
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Générateur de mots de passe mais précis.

#5

Message par Tlem »

Et si vous trouvez qu'il y à encore trop de lignes, il est toujours possible de faire ceci :

Code : Tout sélectionner

$pass = Random(100,999,1) & Chr(Random(97,122,1)) & Chr(Random(97,122,1)) & Chr(Random(97,122,1)) & Random(1000,9999,1)
MsgBox(0,"Pass", $pass)
Bien que cela pourrait être mis en une seule ligne ...

:lol: :lol: :lol: :lol: :lol:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
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: [R] Générateur de mots de passe mais précis.

#6

Message par matwachich »

Haha! trop fort Tlem! :lol:
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
kakashi545
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 26 déc. 2008 11:45
Status : Hors ligne

Re: [R] Générateur de mots de passe mais précis.

#7

Message par kakashi545 »

merci pour cette simplification ;)
Répondre