mino4
Messages postés1Date d'inscriptionlundi 11 février 2008StatutMembreDernière intervention11 février 2008 11 févr. 2008 à 07:43
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
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 23 nov. 2004 à 22:30
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' :
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
++
cs_Sigma
Messages postés38Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention30 novembre 20044 23 nov. 2004 à 09:32
Et voila, une nouvelle version consequante ! ;)
Voici le change log :
- 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
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 ^^).
cs_Sigma
Messages postés38Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention30 novembre 20044 15 nov. 2004 à 14:50
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
cs_philcam
Messages postés132Date d'inscriptiondimanche 12 août 2001StatutMembreDernière intervention17 octobre 2008 11 nov. 2004 à 19:12
salut,
longueur en anglais c'est "length" et non "lengh"
(vue sur la capture)
cs_Sigma
Messages postés38Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention30 novembre 20044 11 nov. 2004 à 18:33
- 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 ! ;)
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 10 nov. 2004 à 19:25
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
cs_Sigma
Messages postés38Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention30 novembre 20044 10 nov. 2004 à 14:48
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 ! ;)
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 10 nov. 2004 à 13:37
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
++
cs_Sigma
Messages postés38Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention30 novembre 20044 10 nov. 2004 à 13:35
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.
:)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 10 nov. 2004 à 12:50
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
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
cs_Sigma
Messages postés38Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention30 novembre 20044 10 nov. 2004 à 12:24
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 :)
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 10 nov. 2004 à 12:03
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
++
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 10 nov. 2004 à 11:52
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.
11 févr. 2008 à 07:43
23 nov. 2004 à 22:30
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
++
23 nov. 2004 à 09:32
Voici le change log :
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 ^^).
15 nov. 2004 à 14:50
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
11 nov. 2004 à 19:12
longueur en anglais c'est "length" et non "lengh"
(vue sur la capture)
11 nov. 2004 à 18:33
-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 ! ;)
10 nov. 2004 à 19:25
- 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
10 nov. 2004 à 14:48
Continuez à me proposer des idées ! ;)
10 nov. 2004 à 13:37
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
++
10 nov. 2004 à 13:35
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.
:)
10 nov. 2004 à 12:50
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
10 nov. 2004 à 12:24
Mon mail : sigma.securityhack@gmail.com
PS : N'hesite pas à mettre une petite note ;) ça fait toujours plaisir :)
10 nov. 2004 à 12:03
Fonctionne bien mais le code peut etre optimisé.
J'ai fais une petite MAJ. Je peux te mailler ça si tu veux.
Bonne prog
++
10 nov. 2004 à 11:52
Bon je vais jetter un oeil sur le code.
++