Password Generator

Résolu
-
 Utilisateur anonyme -
J'ai fait ce code pour generer des mots de passe mais ça n'a pas marché.

Option Strict Off
Option Explicit On
Friend Class Form1
Inherits System.Windows.Forms.Form
Dim a As Short
Dim pass As String
Dim charactere(35) As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
charactere(0) = "a"
charactere(1) = "b"
charactere(2) = "c"
charactere(3) = "d"
charactere(4) = "e"
charactere(5) = "f"
charactere(6) = "g"
charactere(7) = "h"
charactere(8) = "i"
charactere(9) = "j"
charactere(10) = "k"
charactere(11) = "l"
charactere(12) = "m"
charactere(13) = "n"
charactere(14) = "o"
charactere(15) = "p"
charactere(16) = "q"
charactere(17) = "r"
charactere(18) = "s"
charactere(19) = "t"
charactere(20) = "u"
charactere(21) = "v"
charactere(22) = "w"
charactere(23) = "x"
charactere(24) = "y"
charactere(25) = "z"
charactere(26) = "0"
charactere(27) = "1"
charactere(28) = "2"
charactere(29) = "3"
charactere(30) = "4"
charactere(31) = "5"
charactere(32) = "6"
charactere(33) = "7"
charactere(34) = "8"
charactere(35) = "9"



End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Randomize()
pass = ""
a = 0
While (a <= 8)
pass = pass & charactere(CShort(Rnd()'35))
a = a + 1
End While
TextBox1.Text = pass
My.Computer.Clipboard.Clear()
My.Computer.Clipboard.SetText(TextBox1.Text)
End Sub
End Class

4 réponses


Bonjour,

Regarde VBMath.Rnd, méthode

dans ton aide et tu vas voir que cette ligne-là ne tient pas la route.

pass = pass & charactere(CShort(Rnd()'35)) 


Parce que, ton aide va te dire que Rnd() génère des nombres entre 0 (zéro) et 1 (un).

Et puis dans ton aide il y a un exemple pour générer un nombre entre un et six. Un peux d'effort et tu vas pouvoir réécrire ta ligne
Messages postés
14851
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 janvier 2022
160
Bonjour,

En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).

A la place de Rnd, utilise Random (ou Math.Random, je ne sais plus).

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site

Pas bonjour non plus,

Que penses-tu de ça:
        Dim str As String = ""
        Dim Val As Integer = 0
        Dim Value As Integer = 0

        ' 4 Majuscules
        For i As Integer = 1 To 4
            Randomize()
            Val = CInt(Int((26) * Rnd() + 65))
            str &= Chr(Val)
        Next

        '4 Miniscules
        For i = 1 To 4
            Randomize()
            Val = CInt(Int((26) * Rnd() + 97))
            Randomize()
            Value = CInt(Int(str.Length - 1) * Rnd())
            str = str.Insert(Value, Chr(Val))
        Next

        '4 Chiffres
        For i = 1 To 4
            Randomize()
            Val = CInt(Int((10) * Rnd() + 48))
            Randomize()
            Value = CInt(Int(str.Length - 1) * Rnd())
            str = str.Insert(Value, Chr(Val))
        Next
        MsgBox(str)



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique

Explications sur CETTE PAGE


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique