cs_jmluc
Messages postés57Date d'inscriptionmercredi 19 décembre 2001StatutMembreDernière intervention31 juillet 2003 8 juil. 2003 à 08:15
Petite variante que m'a proposé un collègue pour la création de mot de passe pour un login en ASP :
Intégré dans une fonction :
<%
function gen_password()
mot = ""
er = 0
for cpt = 1 to 8
do while er <> 1
randomize
x = int((122 - 48 +1) * Rnd + 48) '--- produit des entier compris entre 48 et 122
if x > 57 and x < 65 then '--- test si chiffre ds interval non désiré
er = 0
else if x > 90 and x < 97 then '--- test si chiffre ds interval non désiré
er = 0
else er = 1 '--- chiffre pas ds interval non désiré
end if
end if
loop
y = chr(x) '--- converti un chiffre en caractère
mot = mot & y '--- concaténation des caractères créer
er=0
next
gen_password = mot ' --- renvoie du mot password
end function
%>
Ca marche bien...(Merci à Sylvain LECOMTE)
cs_sub-zero
Messages postés98Date d'inscriptionmercredi 22 novembre 2000StatutMembreDernière intervention12 juillet 2005 8 juil. 2003 à 00:30
tiens la mem en un peu plus complete ;)
Public Function GenerMdp(Max As Integer) As String
Dim temp As String
Dim valide As Boolean
Dim X As Integer
Dim nb As Integer
Randomize
For i = 1 To Max
DoEvents
X = Int((13 * Rnd) + 1)
Select Case X
Case 1 To 3:
nb = Int((9 * Rnd) + 1) + 48 'nombre entre 0 et 9
Case 4 To 7:
nb = Int((25 * Rnd) + 1) + 65 'majuscule A..Z
Case 8 To 11:
nb = Int((25 * Rnd) + 1) + 97 'minuscule a..z
Case 12 To 13:
nb = Int((10 * Rnd) + 1) + 33 'caractères spéciaux
valide = True
Case Else
MsgBox "echec général de la fonction de randomisation du générateur de mot de passe!", vbCritical, "erreur"
End Select
temp = temp + Chr(nb)
Next i
If Not valide Then
'le mot de passe contient au moins un caractère spécial
nb = Int((10 * Rnd) + 1) + 33
X = Int((Max * Rnd) + 1)
Mid$(temp, X, 1) = Chr(nb)
End If
GenerMdp = temp
End Function
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 7 juil. 2003 à 19:02
8 juil. 2003 à 08:15
Intégré dans une fonction :
<%
function gen_password()
mot = ""
er = 0
for cpt = 1 to 8
do while er <> 1
randomize
x = int((122 - 48 +1) * Rnd + 48) '--- produit des entier compris entre 48 et 122
if x > 57 and x < 65 then '--- test si chiffre ds interval non désiré
er = 0
else if x > 90 and x < 97 then '--- test si chiffre ds interval non désiré
er = 0
else er = 1 '--- chiffre pas ds interval non désiré
end if
end if
loop
y = chr(x) '--- converti un chiffre en caractère
mot = mot & y '--- concaténation des caractères créer
er=0
next
gen_password = mot ' --- renvoie du mot password
end function
%>
Ca marche bien...(Merci à Sylvain LECOMTE)
8 juil. 2003 à 00:30
Public Function GenerMdp(Max As Integer) As String
Dim temp As String
Dim valide As Boolean
Dim X As Integer
Dim nb As Integer
Randomize
For i = 1 To Max
DoEvents
X = Int((13 * Rnd) + 1)
Select Case X
Case 1 To 3:
nb = Int((9 * Rnd) + 1) + 48 'nombre entre 0 et 9
Case 4 To 7:
nb = Int((25 * Rnd) + 1) + 65 'majuscule A..Z
Case 8 To 11:
nb = Int((25 * Rnd) + 1) + 97 'minuscule a..z
Case 12 To 13:
nb = Int((10 * Rnd) + 1) + 33 'caractères spéciaux
valide = True
Case Else
MsgBox "echec général de la fonction de randomisation du générateur de mot de passe!", vbCritical, "erreur"
End Select
temp = temp + Chr(nb)
Next i
If Not valide Then
'le mot de passe contient au moins un caractère spécial
nb = Int((10 * Rnd) + 1) + 33
X = Int((Max * Rnd) + 1)
Mid$(temp, X, 1) = Chr(nb)
End If
GenerMdp = temp
End Function
7 juil. 2003 à 19:02