begin process at 2012 02 10 21:23:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité

 > PASSWORDGEN

PASSWORDGEN


 Information sur la source

Note :
6,33 / 10 - par 3 personnes
6,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité Niveau :Initié Date de création :10/11/2004 Date de mise à jour :23/11/2004 09:06:59 Vu / téléchargé :7 245 / 797

Auteur : Sigma

Ecrire un message privé
Site perso
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Voici un petite programme, sans grande prétention qui permet de générer aléatoirement un mot de passe. Il permet aussi de créer un password mnémonique pour mieux s'en rappeller, de creer une liste de password different et enregistré dans un fichier excel ou le demande l'utilistateur, et aussi un password quality meter qui regarde la qualité du mot de passe créer.

Source

  • Le code est simple, complet, et commenté. Les 2 modules sont tirés de sources sur vbfrance.
Le code est simple, complet, et commenté.  Les 2 modules sont tirés de sources sur vbfrance.

 Conclusion

Merci de me donner votre avis, de me dire si il y a des optimisation possible, et aussi si il manque selon vous des options.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

10 novembre 2004 14:29:16 :
Code extrement simplifier et clarifier, et une option de création de password ajoutée. Merci à Bouv pour sa précieuse aide !
15 novembre 2004 14:32:28 :
Ajout de la fonction qui permet de créer un mot de passe facilement mémorisable, ainsi que la séparation ente minuscule et majuscule.
23 novembre 2004 09:07:00 :
Ajout d'un password quality meter qui vérifie la qualité des mot de passes créer, et ajout d'une fonction qui permet de créer une liste de mot de passe differents et de les enregistrer dans un fichier excel.

 Sources du même auteur

Source avec Zip CRYPTEUR/DECRYPTEUR DE TEXTE.

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) CHIFFREMENT XOR PLUS ROBUSTE par dheroux
Source avec Zip CRYPTAGE MARANT par alpha5
Source avec Zip ACCÈS PAR MOT DE PASSE À FEUILLE EXCEL par mimiZanzan
Source avec Zip CRYPTER-DÉCRYPTER UN TEXTE - TEXTE CRYPTÉ UNIQUEMENT EN MAJ... par Saintache
Source avec Zip Source avec une capture FOLDER PROTECTION par hackoo

Commentaires et avis

Commentaire de bouv le 10/11/2004 11:52:21

Salut, j'ai juste regardé la capture et effectivement je relève un petit pb. Bien des caractères ne sont accessibles directement au clavier (ex le A avec un petit ° au desus) donc difficile pour l'utilisateur de les ressaisir ensuite dans la case qui sera prévu à cet effet.

Bon je vais jetter un oeil sur le code.
++

Commentaire de bouv le 10/11/2004 12:03:32

Oups je ferais bien de regarder un peu mieux avant de parler.
Fonctionne bien mais le code peut etre optimisé.
J'ai fais une petite MAJ. Je peux te mailler ça si tu veux.

Bonne prog
++

Commentaire de Sigma le 10/11/2004 12:24:32

Merci pour ton commentaire. Je veux bien la nouvelle version que tu a faite ! ;)

Mon mail : sigma.securityhack@gmail.com


PS : N'hesite pas à mettre une petite note ;) ça fait toujours plaisir :)

Commentaire de Renfield le 10/11/2004 12:50:37 administrateur CS

on pourrais imaginer la gestion de quelques règles..

pas de numéro en première position, longueure aléatoire (mini + maxi) , jouer avec majuscules / minuscules (distinction ou non)...

voici un bout de code qui pourrait t'inspier...

Public Function GeneratePassword(MinLength As Integer, MaxLength As Integer, Optional AllowLetters As Boolean = True, Optional AllowNumbers As Boolean = True, Optional AllowSpecials As Boolean = False) As String
    Randomize Timer

    Const Chars_Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
    Const Chars_Numbers = "0123456789"
    Const Chars_Specials = "_- $*€!%=+/\&#'[]()<>|{}"
    
    Dim Chars As String
    
    If AllowLetters Then Chars = Chars_Letters
    If AllowNumbers Then Chars = Chars & Chars_Numbers
    If AllowSpecials Then Chars = Chars & Chars_Specials
    
    Dim Size As Integer: Size = MinLength + Int(Rnd * MaxLength)
    GeneratePassword = Space$(Size)
    
    Dim CharsLength As Integer: CharsLength = Len(Chars)
    
    Dim i As Integer
    For i = 1 To Size
        Mid$(GeneratePassword, i, 1) = Mid$(Chars, Int(Rnd * CharsLength), 1)
    Next i
End Function

Commentaire de Sigma le 10/11/2004 13:35:15

Merci pour ton com Renfield.

Pour les règles :
- pas de numéro en première position
-0- Je pige pas l'utilité... Les mots de passes sont accepté quant ils commencent par un chiffre

- longueure aléatoire
-0- Pas très utile a mon avis... mais c'est une option que je pourrai mettre, je vais voir sa. :)

- Jouer avec majuscules / minuscules
-0- J'y ai pensé, j'ai hesité, et je ne l'ai pas fait. Tu me fait re-douter de mon choix. J'ai opté pour la fonctionnalité sans mettre plein d'options inutiles, mais je me dis que cela serait quant meme utile... :S   je vais surement changer.

- voici un bout de code
-0- Merci pour ce bout de code, qui est nettement plus optimiser que le miens. La raison du pourquoi je n'ai pas voulu faire comme cela ? Déjà j'en ai pas eu l'idée ;P et ensuite, je voulais que les caractères spéciaux soient tous pris (ceux lisible par windows), car je me suis dis que ce serait un password avec lequel on ne travail que en copier coller. Mais je vais changer, je vais mettre caractères spéciaux, et caractères très spéciaux.

Merci de tes conseil.

:)

Commentaire de bouv le 10/11/2004 13:37:18

Email envoyé.
PS ce n'est pas le cas dans ma MAJ mais comme dans le bout de code de Renfield je te conseil de limiter un peu plus les 'SpecialChars' à ceux utilisables directement par le clavier.

Bonne prog
++

Commentaire de Sigma le 10/11/2004 14:48:02

Sources modifiées selon l'aide apportée par Bouv, et une nouvelle option a été mise selon la demande de Renfield.

Continuez à me proposer des idées ! ;)

Commentaire de JulioDelphi le 10/11/2004 19:25:17 administrateur CS

hello
- eviter de mettre un chiffre en premiere position dans un mot de passe, diminue le nb de mot de passe et augmente la probabilité de cracker le pass : 0/10 :D a ne jamais faire !!!
- distinction des MAJ/min est tres fortement conseillé mais pas obligatoire
- longueur aléatoire : bof, pas d'interet, un gadjet de plus
- eviter bien sur les caracteres difficilement reproduisible au clavier, comme Ð ou É ou á etc ...

par contre du peux ajouter ça :
- ne pas avoir la possibilité de tomber deux fois sur le meme caractere : le mot de passe suivant ne serait pas possible "0147410" ou meme "azertya"
- tester la "durabilité" d'un mot de passe :) là c un peu plus "chaud" :D
si je donne au prog "azerty" il me dit ke mon pass est a chier, si je donne "AzErty1979" il me dit kil est pas mal, et si je donne "S4lO#7!kC78c" il me dit kil dechire :)
- pourquoi pas aussi creer des mots de passe moins aleatoire, en posant a l'utilisateur qqs question du genre date de naissance, prenom, nom, pseudo, n° de rue, puis lui generer qqchose comme "JuLiO1979del10", il est pas facilement crackable mais plus mnémonique

voila ma contribution :) je noterais a la prochaine mise a jour :D

Commentaire de Sigma le 11/11/2004 18:33:20

- eviter de mettre un chiffre en premiere position dans un mot de passe, diminue le nb de mot de passe et augmente la probabilité de cracker le pass : 0/10 :D a ne jamais faire !!!
-0- Je l'ai pas fait, et le ferai pas ;)

- distinction des MAJ/min est tres fortement conseillé mais pas obligatoire
-0- Prévu dans la prochaine MàJ

- eviter bien sur les caracteres difficilement reproduisible au clavier, comme Ð ou É ou á etc ...
-0- Déjà integrer dans le programme...

- ne pas avoir la possibilité de tomber deux fois sur le meme caractere : le mot de passe suivant ne serait pas possible "0147410" ou meme "azertya"
-0- Interessant quoi que pas indispensable, mais je vais probablement le faire.

-0- Pour tes 2 derniers points, ils sont interessant, quoi que s'écartent de la base exacte que je m'était fixée, mais je vais y penser, et je te redis. (ton dernier point m'interesse spécialement vu que j'ai ecris un tuto la dessus ! ;)


Pour la mise a jour, il faudra attendre la semaine prochaine, car je n'ai pas le temps cette fin de semaine et ce weekend.

Et merci pour ta contribution, cela fait plaisir que ce soft déclanche un peut d'interet ! ;)

Commentaire de philcam le 11/11/2004 19:12:23

salut,

longueur en anglais c'est "length" et non "lengh"

(vue sur la capture)

Commentaire de Sigma le 15/11/2004 14:50:09

Voila, la nouvelle version est la, j'attend votre feed back ! :)

De neuf, il y a :
- Gestion Majuscule / Minuscules
- Générateur de mot de passe mémorisable
- Que les mot de passes court n'ayent pas 2 fois le meme caractère.
- Correction du mot lengh en length (thx philcam)


De prévu pour la prochaine version :
tout dépendra de votre feedback, mais je pense mettre un password quality meter. :)

merci encore de votre interet pour ce petit prog.

bonne prog a tous

Commentaire de Sigma le 23/11/2004 09:32:40

Et voila, une nouvelle version consequante !  ;)

Voici le change log :

[quote]- Ajout d'un password quality meter qui permet de regarder la qualité d'un mot de passe.
- Ajout d'une fonction qui permet de créer une liste de password different dans un fichiers excel (sans les o majuscule et les 0, et sans les i majuscules et les l (pour ne pas pretter a confusion)).
- Correction d'un bug lier aux choix des caractères [/quote]

Les 2 modules (pour l'enregistrement dans un fichier xls et le browse) ont été trouvé sur vbfrance.

J'espère que vous appreciez, et n'hesitez pas a laisser des commentaires, qu'ils soient de type technique ou ergonomique (ou des fautes d'anglais ^^).

Commentaire de bouv le 23/11/2004 22:30:38

J'ai regardé le prog. en vitesse et voici qq petites remarques :

Eviter à tout prix les sendkeys, c'est très bidouillage.
A confirmer mais je pense que cela ne fonctionnerai pas sous un autre OS que Windows (ex : Linux).

Dans cmdCopy_Click, met plutot comme dans cmdCopy2_Click

Soit :
    On Error Resume Next
    Clipboard.Clear
    Clipboard.SetText txtResult.Text
En plus ca fait moins de ligne.

Pour cmdExplore_Click. Tu peux supprimer le passage par la variable 'path' :

txtSavelocation.Text = BrosweForFolder(frmGenPass, "Select Source Folder")

De toute façon si le resultat = "", la textbox sera vidée.

D'une manière générale essai d'utiliser les ElseIf
Ex :

    If (Val(txtNPassword.Text) = 0) Then
        MsgBox ("Number of password to create is too short !")
        txtNPassword.SetFocus
        Exit Sub
    ElseIf (Val(txtNPassword.Text) > 999) Then
        MsgBox ("Number of password to create is too long !")
        txtNPassword.SetFocus
        Exit Sub
    End If

En fin dans les boucles For (For i =...), j'ai pour habitude de mettre Next i. Si un jour tu dois en imbriquer plusieurs cela te servira.

NB : Le prog fonctionne apparement très bien ainsi et je chipote un peu mais cela te permettra d'optimiser un peu tout ça.

Bonne prog
++

Commentaire de mino4 le 11/02/2008 07:43:57

j'ai créé un petit programme dans lequelle j'ai mit un password que je ne me souvien plus..maintenant j'ai besoin de ce ficher. quelquun peut me dire comment envelever un password dand vba..merci

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,554 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales