Soyez le premier à donner votre avis sur cette source.
Vue 15 321 fois - Téléchargée 667 fois
'Première source : Obtenir le Hash D'un mot 'Nécéssite la création de 2 textBox et d'un bouton 'On commence par créer nos imports Imports System Imports System.Windows.Forms Imports System.Security.Cryptography 'C'est ceci qui nous permet d'utiliser la methode de Hachage 'On place nos textBox (l'un se nomme : Textnoncrypte et l'autre :textcrypte) et notre bouton(Encrypt_) ici 'Definition de l'evenement bouton Private Sub Encrypt_Click(sender As System.Object, e As System.EventArgs) Dim Hachage As Byte() Dim Code As New system.Text.UnicodeEncoding Dim mdp() As Byte = Code.GetBytes(Textnoncrypte.Text) Dim sha1Hachage As New Security.Cryptography.SHA1CryptoServiceProvider Dim resultat As String Hachage = sha1Hachage.ComputeHash(mdp) resultat = Convert.ToBase64String(Hachage) textcrypte.Text = resultat End Sub 'Voilà, ce premier code permet de traduire un texte en un Hash SHA-1 qui va alors pouvoir être utilisé dans notre code. ######################################################################################################################################### 'Deuxième Source : l'integrer dans notre code. 'Imaginons que nous voulons integrer dans notre page d'acceuil un accès restreint, L'utilisateur rentre son mot de Passe, qui est encrypté en SHA-1, qui 'est alors comparé au code SHA-1 présent dans la source (du coup, c'est plus complexe qu'un vulgaire mot de passe, mais il est toujours possible de le 'retrouver... 'Necessite la création de 1 textbox et d'un Bouton 'On réalise les même imports : Imports System Imports System.Windows.Forms Imports System.Security.Cryptography 'On place ici notre textBox (password) et notre bouton : (Entrer_) 'On réalise l'évènement bouton (il ne change pas trop de la methode vue plus haut) Private Sub Entrer_Click(sender As System.Object, e As System.EventArgs) Dim Hachage As Byte() Dim Code As New system.Text.UnicodeEncoding Dim mdp() As Byte = Code.GetBytes(password.Text) Dim sha1Hachage As New Security.Cryptography.SHA1CryptoServiceProvider Dim resultat As String Hachage = sha1Hachage.ComputeHash(mdp) resultat = Convert.ToBase64String(Hachage) 'jusque ici, ça ne change pas trop 'On va alors comparé le Hash obtenu du mot de passe entré avec celui defini dans la source 'Dans l'exemple, le mot de passe est : Ali Baba et les 40 Voleurs (attention aux majuscules/minuscules/espaces !!!), le Hash corrpondant est : 'efV4uuTy540gBd+LcT0j4dY31DE= 'On va alors comparer les deux valeurs methode utilisée pour comparer : Equals if resultat.Equals("efV4uuTy540gBd+LcT0j4dY31DE=") then MessageBox.Show("Bien joué !") Else MessageBox.Show("Raté !") End if End Sub 'Voilà pour cette première méthode simple, vous pouvez encore largement l'améliorer en y inserant un autre mot de passe, en y inserant un compteur... ####################################################################################################################################### 'Je vais maintenant vous donner des idées pour compliquer un peu votre protection 'En effet, l'une des première chose à faire ce serait de ne pas présenter la valeur à comparer dans notre programme 'De trouver des mots de passe comprenant lettres minuscules majuscules chiffres et sans sens particulier... 'Le but étant en fait de demander à l'utilisateur deux password 'Ensuite, il y a plusieurs façons : 'Tout d'abord, on peut ajouter les deux Hash obtenus grâce à la méthode AppendText dans un troisième textBox caché, et par une suite de calculs, que cette nouvelle 'égalité soit egale à celle d'un 4em textBox caché 'En fait je pense que tous résulte de 2 suites d'opérations crées à partir des 2 password. Et à la fin, si les deux résultats de ces suites sont égales, c'est ok 'Voilà un peu près ou j'en suis arrivé
16 nov. 2011 à 14:03
Avec ces codes, le problème avec VB6 c'est qu'on doit cocher dans la zone reference,
mais quels sont les references à cocher parce qu'il ne reconnait pas même le system.object et eventargs et ....
6 déc. 2005 à 22:16
6 déc. 2005 à 05:28
5 déc. 2005 à 18:25
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.