Page 1 sur 1

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

Posté : mer. 24 mars 2010 17:59
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.

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

Posté : mer. 24 mars 2010 19:09
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

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

Posté : mer. 24 mars 2010 19:22
par kakashi545
merci beaucoup c'est exactement ce que je rechercher

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

Posté : mer. 24 mars 2010 21:50
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)

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

Posté : mer. 24 mars 2010 22:44
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:

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

Posté : ven. 26 mars 2010 18:21
par matwachich
Haha! trop fort Tlem! :lol:

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

Posté : ven. 26 mars 2010 19:26
par kakashi545
merci pour cette simplification ;)