Cette source permet de générer un mot de passe de manière sure, pour cela, le mot de passe généré contient des minuscules, des majuscules, des chiffres et des caractères spéciaux.
Ce code peut fonctionner soit en l'exécutant sous Windows soit dans internet explorer avec le fichier .html
Source / Exemple :
Option Explicit
Public minuscules 'Les caracteres minuscules autorisés
Public majuscules 'Les caracteres majuscules autorisés
Public chiffres 'Les chiffres autorisés
Public speciaux 'Les caracteres speciaux autorisés
'
'Procedure qui initialise les caracteres autorises
'
Sub init()
minuscules="abcdefghijklmnopqrstuvwxyz"
majuscules=UCase(minuscules)
chiffres="0123456789"
speciaux="²&é(-è_çà)~#{[|\^@]}=^$ù*,;:!<>£%µ./§"
End sub
'
'Fonction qui permet de generer un mot de passe de nbChar caracteres
'
Function GenererMp(nbChar)
Dim i 'compteur de boucle
Dim pMin 'la probabilite d'avoir une minuscule
Dim pMaj 'la probabilite d'avoir une majuscule
Dim pNum 'la probabilite d'avoir un chiffre
Dim pSpe 'la probabilite d'avoir un caractere special
Dim total 'le nombre total de caracteres
Dim res 'le resultat de la fonction
res=""
total=Len(minuscules)+Len(majuscules)+Len(chiffres)+Len(speciaux)
pMaj = (Len(majuscules)/total)
pMin = (Len(minuscules)/total)
pNum = (Len(chiffres)/total)
pSpe = (Len(speciaux)/total)
For i=1 To nbChar
Randomize
If rnd<pMin Then
res = res & SelectRandomChar(minuscules)
ElseIf rnd<pMin+pMaj Then
res = res & SelectRandomChar(majuscules)
ElseIf rnd<pMin+pMaj+pNum Then
res = res & SelectRandomChar(chiffres)
Else
res = res & SelectRandomChar(speciaux)
End If
Next
GenererMp=res
End Function
'
'Fonction qui permet de retourner un caractere au hasard parmi les entrees
'
Function SelectRandomChar(caracteres)
dim alea 'nombre aleatoire compris entre 0 et la taille de caracteres
Randomize
alea = Int(Len(caracteres)*rnd+1)
SelectRandomChar = Mid(caracteres, alea, 1)
End Function
'
'Procedure qui permet de lancer le programme
'
Sub lanceur()
On Error Resume Next
Dim nbChar 'Nombre de caracteres voulus par l'utilisateur
Dim fin 'Choix final du l'utilisateur
fin = ""
init()
nbChar=InputBox("Quelle est la taille du mot de passe souhaitée ?", "Demande d'information", "8")
If nbChar = "" Then
Exit Sub
End If
fin=InputBox("Un mot de passe a été généré", "Résultat", GenererMP(nbChar))
If fin = "" Then
Call lanceur()
End If
End Sub
Call lanceur()
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.