IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

corriger mes codes MD5


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Par défaut corriger mes codes MD5
    bonjour, j'ai créer un décryptage md5 par alphabet mais voila j'ai un petit probleme faire mes codes , pouvez vous m'aider?
    voici en image:


    voici mes codes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Public Class Form1
        Dim UpperCase As String
        Dim Lowercase As String
        Dim Digits As String
        Dim ObjCmd5 As New Cmd5
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            ComboBox1.SelectedIndex = 0
        End Sub
     
        Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
            TextBox1.MaxLength = 32
            Button1.Enabled = True
            ComboBox1.Enabled = True
        End Sub
     
        Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
            Select ComboBox1.SelectedIndex
                Case 1
                    UpperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                Case 2
                    Lowercase = "abcdefghijklmnopqrstuvwxyz"
                Case 3
                    Digits = "1234567890"
            End Select
        End Sub
     
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Timer1.Start()
        End Sub
     
        Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
            Dim text As String = TextBox1.Text
            Dim alphabet As String = ComboBox1.SelectedIndex
            Dim stopwatch As New Stopwatch
            Dim maxi As String = 1
            stopwatch.Start()
            TextBox3.Text = ("" & 1)
            If Not ObjCmd5.button1("", 1, alphabet, text) Then
                Do
                    maxi += 1
                    stopwatch.Start()
                    TextBox3.Text = ("" & maxi)
                Loop While Not ObjCmd5.button1("", maxi, alphabet, text)
            End If
            TextBox2.Text = ObjCmd5.RetourChaine
            stopwatch.Stop()
            Timer1.Stop()
            Dim elapsedMilliseconds As Integer = CInt(stopwatch.ElapsedMilliseconds)
            MessageBox.Show(("Trouvé en : " & CStr((elapsedMilliseconds * 0.001)) & " sec"))
        End Sub
    End Class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Class Cmd5
        Public Function button1(ByVal chaine As String, ByVal max As Integer, ByVal alphabet As String, ByVal text As String) As Boolean
            If (chaine.Length = max) Then
                RetourChaine = chaine
                Return True
            End If
            Dim num As Integer = 0
            Do
                If Me.button1((chaine & alphabet.Chars(num)), max, alphabet, text) Then
                    Return True
                End If
                num += 1
            Loop While (num < &H24)
            Return False
        End Function
        Public RetourChaine As String
    End Class

  2. #2
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Citation Envoyé par hacker59 Voir le message
    bonjour, j'ai créer un décryptage md5 par alphabet mais voila j'ai un petit probleme faire mes codes , pouvez vous m'aider?
    Ca dépend de tes problèmes ...

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Par défaut
    bonjour,
    je voudrais savoir, es ce que c'est bon dans combobox1 et timer1.
    merci, de votre compréhension.

  4. #4
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Je ne vois pas l'utilité de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim UpperCase As String
        Dim Lowercase As String
        Dim Digits As String
     
    Select ComboBox1.SelectedIndex
                Case 1
                    UpperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                Case 2
                    Lowercase = "abcdefghijklmnopqrstuvwxyz"
                Case 3
                    Digits = "1234567890"
            End Select
    Sachant que à la vue de ton code ils ne prendront pas d'autres valeurs ...
    Pourquoi ne pas avoir fait de constantes ? Ou alors une seule variable qui changerait selon ton test de Select Case, histoire de le justifier ...
    D'autant que dans ton cas, et selon ton code, tu ne réutilises pas ces variables ...


    Pour le Timer je ne m'en suis jamais servi, donc je ne peux juger que la syntaxe Vb.Net et ainsi te conseiller d'éviter le nom de variable "text"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim text As String = TextBox1.Text
    , si d'autres users s'y connaissent mieux en utilisation de Timer ils sont la bienvenue.

    Et le Do Loop évite ... en Vb.Net les boucle infinies sont à proscrire ... (Avis perso)

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,

    La question que je me pose c'est quel est l'intérêt du Timer ici ?
    Comme son nom l'indique, un Timer sert à exécuter du code toutes les x millisecondes. Activer un Timer lors d'un clic bouton pour le désactiver à la fin de sa première exécution est absurde. Le clic bouton devrait appeler une méthode simple.
    De plus comme l'indique _Ez3kiel, mieux vaut éviter les Bouton1, Timer1 et autre Textbox1. Un nom parlant est préférable pour la lisibilité du code !!

    Eb.

  6. #6
    Membre chevronné
    Homme Profil pro
    Caféinomane
    Inscrit en
    Septembre 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Caféinomane

    Informations forums :
    Inscription : Septembre 2011
    Messages : 202
    Par défaut
    Bonjour,

    Si le Timer ne sert qu'à chronométrer, je préfère utiliser la fonction GetTickCount(), qui évite la gestion parfois lourde des Timer. Sauf erreur de ma part, GetTickCount() est plus exacte, puisqu'elle n'est pas événementielle.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            Dim t1, t2, duree As Integer
            t1 = GetTickCount()
            ' ... Traitement à chronométrer ...
            t2 = GetTickCount()
            duree = t2 - t1     ' en millisecondes

Discussions similaires

  1. Mes codes VBA ne fonctionnent pas sous access 2007
    Par ralfus dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/11/2008, 11h36
  2. Comment corriger ce code?
    Par wisdom dans le forum MATLAB
    Réponses: 7
    Dernier message: 29/04/2008, 12h28
  3. quelques problèmes pour exécuter mes codes
    Par djimangue dans le forum Langage
    Réponses: 6
    Dernier message: 18/12/2007, 01h00
  4. Réponses: 4
    Dernier message: 01/03/2007, 21h52
  5. corrige mon code svp
    Par NAIMA2 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 10/02/2007, 09h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo