login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ASP.NET MD5 functie implementeren ? (Opgelost)

Offline eques - 19/11/2007 15:22
Avatar van equesNieuw lid Hallo ik ben niet echt een fan van .NET ik werk er eigenljk alleen maar mee omdat het een opdracht is van de school uit. Ik gebruik VB en kan al wel de basic dingen maken maar nu ben ik toch op een probleempje gestoten. IK moet een registratieform maken en wegschrijven in de access db dit alles met validation. Dit is allemaal geen probleem alleen is het bij wet verplicht uw wachtwoorden te encrypteren en daar knelt het schoentje. In PHP hoef je enkel te zeggen md5($var); en je bent klaar. Nu in asp.NET is het precies niet zo simpel meer. Ik ben opzoek gegaan naar een functie voor een md5 te genereren en stuitte op dit stukje code:

http://www.plaatscode.be/4054/

nu ik ben erg nieuw met dit hele gebeuren en vroeg mij af hoe ik deze functie nu toepas op een variabele. Laat ons zeggen dat de variabele (Dim wachtwoord ) is.

ik had gehoopt dat ik kon zeggen (encript(wachtwoord)) en dat daarmee de string ge-encrypteerd zou worden maar niets is minder waar. Zou iemand me kunnen helpen ? Alvast bedankt

12 antwoorden

Gesponsorde links
Offline Mad_Mike - 19/11/2007 15:25
Avatar van Mad_Mike PHP beginner Even met Google zoeken:
http://www.a1vbcode.com/vbtip-149.asp
Offline citroen - 19/11/2007 15:26
Avatar van citroen Onbekend http://aspnet.4...5demo.aspx

gebruik de geimplementeerde functies van de .net library's ipv zelfgemaakte functies
Offline Abbas - 20/11/2007 01:08 (laatste wijziging 20/11/2007 01:09)
Avatar van Abbas Gouden medaille

Crew .NET
Je kan perfect zelfgemaakte functies gebruiken. 
Je maakt een aparte class-file. Hierin maak je een namespace en een klasse met daarin je functie. Vanuit de pagina of code-file waar je de functie wil aanroepen zet je dit bij de het 'Imports'-gedeelte:
  1. Imports projectnaam.namespace_naam.klassenaam

En dan kan je de functie (hier met de naam "md5") zo aanroepen:
  1. Dim paswoord As String = md5(invoer)


Ik heb een WindowsApplication (Form) gemaakt waarbij ik gebruik maak van de uitleg die ik hierboven heb gegeven. Ik heb een Form met een invoervak en een knop. Als je op de knop klikt wordt de invoer omgezet naar de md5-hash. Hierbij wordt er dus gebruikt gemaakt van een aparte file met de functie erin. Alleen, de code die ik gebruik om een md5-hash te maken is wel een heel stuk korter. Als je wilt kan ik het project morgen online zetten. 
Offline citroen - 20/11/2007 09:48
Avatar van citroen Onbekend Waarom zou je het wiel heruitvinden? gebruik toch gewoon de classes die .net beschikbaar heeft...
Offline Abbas - 20/11/2007 12:05
Avatar van Abbas Gouden medaille

Crew .NET
Ja citroen daar heb je gelijk in, maar wat is er in godsnaam mis met het gebruik van een eigengemaakte functie in plaats van diegene die al in het .NET-framework zit. Je bent toch vrij om te doen en te laten wat je wil. Als je hier antwoord moet je een oplossing vinden op zijn probleem en zijn probleem is een eigen functie leren gebruiken. Het kon evengoed een functie zijn die niet in het .NET-Framework zit en dan zou hij met hetzelfde probleem zitten. Nu weet hij ineens hoe het moet. Maar ik snap wel wat je wilt zeggen! 
Offline citroen - 20/11/2007 12:58
Avatar van citroen Onbekend als het een opdracht van school uit is ga ik er toch wel vannuit dat je al een basis hebt en toch wel weet hoe je subroutines en functions moet schrijven en gebruiken.
Offline Abbas - 20/11/2007 13:22
Avatar van Abbas Gouden medaille

Crew .NET
Ja natuurlijk, maar er zijn altijd wel dingen die je niet direct weet of weet hoe je alles direct moet gebruiken. Als je inderdaad die zaken van school uit leert moet je de basiszaken zoals functies aanroepen wel weten, maar ja hij heeft hulp nodig dus geven we die. 
Offline citroen - 20/11/2007 13:53
Avatar van citroen Onbekend en hierbij gegeven zonder commentaar 
Offline eques - 21/11/2007 12:04
Avatar van eques Nieuw lid Citroen, ja ik kan functions gebruiken en namespaces gebruiken. Probleem bij dit script dat ik hierbove plaatste is dat er blijkbaar toch nog fouten in blijken te zitten.

Ik moet een zelfgemaakte functie gebruiken dus die van .NET gebruiken is geen optie.

Momenteel herkent hij al mooi mijn functie etc alleen zitten er in de encript funtie nog fouten (deze code heb ik niet zelf geschreven).

Alvast bedankt voor jullie hulp !
Offline Abbas - 21/11/2007 16:13 (laatste wijziging 21/11/2007 16:14)
Avatar van Abbas Gouden medaille

Crew .NET
Hier is de code voor de md5 hash:
  1. Imports System.Security
  2.  
  3. Namespace klasse
  4.  
  5. Public Class encryptie
  6.  
  7. Public Shared Function md5(ByVal input As String)
  8.  
  9. Dim pas As String
  10. Dim x As New System.Security.Cryptography.MD5CryptoServiceProvider()
  11. Dim bs As Byte() = System.Text.Encoding.UTF8.GetBytes(input)
  12. bs = x.ComputeHash(bs)
  13. Dim sb As New System.Text.StringBuilder()
  14.  
  15. For Each b As Byte In bs
  16. sb.Append(b.ToString("x2").ToLower())
  17. Next
  18.  
  19. pas = sb.ToString()
  20. Return pas
  21.  
  22. End Function
  23.  
  24. End Class
  25.  
  26. End Namespace


En zo roep ik deze aan vanuit een andere file:
  1. Imports VB_md5.klasse.encryptie

VB_md5 is de naam van het project, klasse is de naam van de namespace en encryptie is de naam van de klasse. Sorry voor de verwarrende benaming, dit was maar een probeersel project.

En de functie gebruik je zo:
  1. 'je steekt de invoer van een vak in de variabele "invoer"
  2. Dim invoer As String = TextBox1.Text
  3. 'de variabele uitvoer krijgt de md5-waarde van de invoer
  4. 'de functie roep je in dit geval aan zoals in PHP met md5()
  5. Dim uitvoer As String = md5(invoer)


Hopelijk ben je hier wat mee, veel succes! 
Offline eques - 22/11/2007 21:39
Avatar van eques Nieuw lid titjes dit had ik dus net hetzelfde gedaan met mijn script maar dat wou niet werken, met jou script werkt het dus wel heel hartelijk bedankt !
Offline Abbas - 22/11/2007 22:58
Avatar van Abbas Gouden medaille

Crew .NET
Weer een tevreden klant! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.2s