Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Søg
 

Simpelt - MD5 i ASP.

Forord

Denne artikel viser simpelt - hvordan MD5 bruges i ASP.

det er næsten et must at 'MD5 hashe' sine brugeres adgangskoder.
Tænk på hvis din database kom i de forkerte hænder - eller blev cracket?
Tjek denne artikel - og se hvordan man gør.

Hvad er MD5?
MD5 er et script som omdanner en tekst om til en hash string.

Eksempel
Man indtaster "koklapper" i en formular og sender den afsted.
Serveren modtager formularen og med hjælp af et MD5 Script omdannes "koklapper" til "f7064e703b313cd84388c0ab1bab9ec8"

Stringen kan umiddelbart ikke dehashes.

Mere info: Wiki

Hvad bruges MD5 til?
MD5 bruges umiddelbart til at omdanne brugeres adgangskoder til en hash string.
Dette gøres for at adgangskoden ikke skulle lande i forkerte hænder, og at den ikke er synlig i databasen. MD5 kan også bruges til andre følsomme oplysninger. det er et must for webmastere at gøre dette for sine brugere.

Lad os komme igang.
Det første du skal bruge er en md5.asp fil - den hentes gratis her.
Opret derefter en mappe med navnet "md5test". og læg md5.asp derind.

formular.html
Vi starter med at lave en formular. Denne formular skal have et felt med navnet "tekst".
Formularen bygges simpelt op med html.
  1. <html>
  2. <head>
  3. <title>Formular</title>
  4. </head>
  5. <body>
  6. <form method="post" action="modtager.asp">
  7. <p>Skriv noget der skal hashes:</p> <input type="text" name="tekst">
  8. <br>
  9. <input type="submit" value="send">
  10. </form>
  11. </body>
  12. </html>
Gem formularen med navnet "formular.html"

modtager.asp
her er den dynamiske asp side - Trylle siden eller noget - den side som skal modtage den tekst du skrev i formularen, og omdanne den til en md5 hash string.

Vi starter med at include md5.asp med følgene SSI include funktion:
  • <!--#include file="md5.asp"-->
Nu er md5 scriptet included. nu skal have fat i teksten som blev postet fra formular.html - og få den hashed med md5.

Dette gøres så simpelt her.
  • <%=MD5(Request.Form("tekst"))%>
med denne kode MD5 hasher den indholdet af <%=Request.Form("tekst")%>
Alt kan MD5 hashes - <%=MD5("et eller andet der skal hashes her.")%>
Nu kræver det ikke så meget fantasi at få sit login script til at fungere med MD5 hashed ting.

modtager.asp ser altså sådan her ud.
  1. <!--#include file="md5.asp"-->
  2. <html>
  3. <head>
  4. <title>MD5</title>
  5. </head>
  6. <body>
  7. <b>Det indtastede tekst i formularen er blevet omdannet til følgene MD5 hash:</b><br>
  8. <%=MD5(Request.Form("tekst"))%>
  9. </body>
  10. </html>

Din "md5test" mappe skulle gerne indeholde disse filer:
md5.asp - MD5 script // må ikke ændres.
formular.html // her sender vi noget tekst til modtager.asp
modtager.asp // modtager teksten fra formularen - og udskriver den som en MD5 hashed string.

Sådan bruges MD5 på et logind script
**** dette kræver man er lidt øvet :-) ***

- Når en bruger oprettes
Når en bruger oprettes skal brugerens adgangskode hashes - og hashen gemmes i databasen.

Når en bruger logger på
Når brugeren logger på skal man hashe det modtagede adgangskode - og herefter skal man tjekke om den hashede adgangskode findes i databasen.

Glemt password?
Hvis man normalt udsender brugerens password med en e-mail, jamen så er der kun en ting at sige, dette kan ikke lade sig gøre mere. Brugerens adgangskode kan ikke dehashes - og brugeren vil derfor få en e-mail med sit md5 hashede password. dette kan brugeren ikke logge ind med, for så bliver det md5 hashede password lavet om til en ny md5 hash string - som selfølgelig ikke kan sammenlignes med den md5 hash string som allerede er i databasen.

glemt password - hvad gør man så?
  1. randomize '// denne kode laver et random password
  2. Dim Random
  3. Random = Int((1000000 * Rnd) + 1) '// Her laver vi et random password som udskrives med variablen "random"
  4. HashRandom = MD5(random) '// her laver vi en ny variabel nemlig "HashRandom" den for indholdet MD5(random) som hasher random variablen.
adgangskoden i databasen bliver updated med &HashRandom&
&random& , som er det nye password sendes herefter i en mail til brugeren.

Der er vedlagt en zip fil med md5test scriptet.
Oprettet af:

ASP

Point modtaget: 200

Rate:
00:09 29/12/2008

Kommentarer

Giv din mening tilkende om denne artikel, eller læs andres.
Har du spørgsmål eller brug for hjælp til denne artikel henvises du til forummet.
no comments ? :D
Oprettet af:
  Mail
20:18 29/12/2008
God artikel. Min viden er ret begrænset indenfor ASP, men nu blev den da udvidet..;)

Men forstår ikke helt hvorfor vi skal downloade en md5.asp fil og ikke selv lave den? Eller hvad det er, har ikke selv kigget på det..:P

Men flot og nogenlunde godt beskrevet.

4 pil opaf/5 mulige points..:)
Oprettet af:
  Mail
22:58 29/12/2008
md5.asp kan man ik lave selv heh :) det er et script som generere hash stringen.

den kaldes ved f.eks <%=MD5("et eller andet der skal hashes her.")%>
Oprettet af:
  Mail
23:28 29/12/2008
Nååå.. Ok da, nu forstår jeg bedre..;)
Oprettet af:
  Mail
23:43 29/12/2008
Grunden til du er nødt til at hente md5.asp filen, Markus, er fordi ASP ikke har en indbygget MD5 funktion ligesom nogle andre kodesprog som f.eks. PHP. Den md5.asp fil som Z4 linker til laver en MD5 funktion ved at køre hele den matematiske MD5 algoritme igennem.

Ellers er det en god artikel.
Tak Z4 :)
Oprettet af:
  Mail
07:34 30/12/2008
Ja, Goatie. Jeg downloadede filen igår, efter at have kommet med min kommentar. Fandt jeg så ud af.. Men ellers tak..
Oprettet af:
  Mail
14:26 30/12/2008
Hej Z4
Download linket virker ikke længere.. ?
Oprettet af:
  Mail
12:51 09/12/2010
Du skal være oprettet og logget ind for at kommentere en artikel
Copyright © Rowl.dk v/ Michael Raagaard | 2005-12 | Alle rettigheder forbeholdes