Avatar billede Slettet bruger
13. februar 2006 - 15:48 Der er 11 kommentarer og
2 løsninger

Dekryptere md5

Hejsa

Jeg har fået fat i md5-metoden til at hashe en given værdi...
Men ved nærmere eftertanke så har jeg nu også brug for en metode til at "de-hashe" værdien sådan at værdien i scriptet bliver det som det oprindeligt skal være...

- er dette muligt... og er der nogen som kender en metode?

\Dan
Avatar billede pidgeot Nybegynder
13. februar 2006 - 15:56 #1
MD5 er en en-vejs algoritme, så med mindre du har lyst til at køre en meget omstændelig cracking-process hver gang du skal bruge den oprindelige værdi, er det ikke muligt - og selv hvis du gør det, kan du ikke være 100% sikker på du får den oprindelige værdi.

Jeg kunne forestille mig at du bruger MD5 til kodeord, og nu skal kunne lade brugeren hente et glemt kodeord - i så fald bør du i stedet lave et nyt kodeord og sende ud pr. e-mail (men sørg for at det nye ikke aktiveres før den e-mail er godkendt, så det ikke er muligt at chikanere ved at bede om et kodeord for en anden bruger).
Avatar billede olebole Juniormester
13. februar 2006 - 15:57 #2
<ole>

MD5 er netop en hashing og ikke en kryptering - og er derfor (i princippet) irreversibel.
Alt kan naturligvis knækkes i de rette omgivelser og med tilstrækkeligt med forsøg, men det er ikke en realistisk mulighed  :)

/mvh
</bole>
Avatar billede Slettet bruger
13. februar 2006 - 16:08 #3
OK!

Er der så nogen som har nogle bedre forslag end md5? Jeg har kigget lidt på inkluderingsfilen altså funktionen md5, og for mig at se så indeholder den en laaaaang funktion med en masse replacements...
- Og så var det der jeg tænkte at hvis man kan replace den ene vej kan man vel også den anden... hehe...

- Og nej. Det er ikke til kodeord dette her skal bruges. Eller det vil sige, det er det også, men det er ikke det det handler om her...
Men jeg har ikke lyst til at komme nærmere ind på her præcist hvilke typer værdier det er som jeg skal have krypteret og dekrypteret...

\Dan
Avatar billede olebole Juniormester
13. februar 2006 - 16:14 #4
Så er Google nok det bedste bud. Der kan du selv vurdere, om der er noget, der passer til dine behov  :)
Avatar billede arne_v Ekspert
13. februar 2006 - 16:22 #5
der er jo flere krypterings algoritmer

3DES, AES etc.

det er ikke svaert at finde en god algoritme

men hvordan vil du gemme nøglen til den gode algoritme ?
Avatar billede Slettet bruger
13. februar 2006 - 16:34 #6
Hej arne_v

Hvad mener du med hvordan jeg vil gemme nøglen til den gode algoritme?

- Det jeg søger er en algoritme som både kan "kryptere" og "dekryptere" det igen...
Jeg har et login-område på min hjemmeside, hvor diverse oplysninger om brugere skal krypteres og det bliver de så også via md5...
Problemet er bare at jeg nogle gange har brug for de oprindelige værdier... til nogle af mine scripts for at de kan blive brugbare for brugeren...

Den udgave jeg har af md5 er bare en asp-fil der bliver inkluderet på den side hvor der skal "krypteres"... så kunne værdien for eksempel så sådan her ud:
<%
email = md5(email)
%>
- altså md5 er en funktion der henvises til...
Men hvis for eksempel at folks e-mail adresse skal krypteres så skal den jo også kunne dekrypteres igen i andre situationer hvor brugeren skal bruge sin e-mail adresse... ellers er den jo ubrugelig...

\Dan
Avatar billede arne_v Ekspert
13. februar 2006 - 16:51 #7
hvis en algoritme altid konverterede fra aaa@bbb.dk til XyZwH76KJl og tilbage
saa kunne alle ko konvertere tilbage og saa ver der ikke noget formaal med
krypteringen

tricket er at algoritmen plus den hemmelige nøgle "secret" giver XyZwH76KJl
mens samme algoritme med den hemmelige nøgle "foobar" giver BVA%^@@Bkj
og derfor kan man ike dekryptere uden at kende den hemmelige nøgle

men det rejser jo spørgsmålet om hvor du gemmer den nøgle
Avatar billede Slettet bruger
13. februar 2006 - 17:01 #8
OK! Det kan jeg selvfølgelig godt se arne_v
- Men man kunne vel bare gemme en "hemmelig nøgle" som en del af scriptet...
Altså lave en værdi i scriptet som for eksempel hed "key" og så skal dekrypteringen kun gå i gang i inkluderings-filen hvis værdien af "key" er korrekt...

\Dan
Avatar billede Slettet bruger
13. februar 2006 - 17:04 #9
- Men jeg tror jeg opgiver lige for nu... med md5...
Jeg tror jeg laver en dekrypterings-metode af md5, altså en "omvendt md5" og så laver jeg den sådan at den tjekker om min "key" er korrekt...

\Dan
Avatar billede olebole Juniormester
13. februar 2006 - 20:02 #10
Jamen - det er jo netop det, du ikke kan. En MD5 kan ikke reverseres ... du kan ikke lave en 'omvendt MD5'  :)
Avatar billede Slettet bruger
22. februar 2006 - 10:45 #11
OK! Så kan jeg ikke det... har nu lige lavet en reverse... Den virker dog ikke 100%, så jeg dropper idéen...

Smid lige et svar alle tre - så får I point som tak for hjælpen...

\Dan
Avatar billede arne_v Ekspert
22. februar 2006 - 15:11 #12
.
Avatar billede pidgeot Nybegynder
22. februar 2006 - 16:35 #13
Et stk. svar er på vej.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester