/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MD5 i default
Fra : -Martin-


Dato : 17-04-02 23:44

Jeg er igang med at oprette passwords

Og til det skal jeg bruge i default MD5(etord)

MEN jeg får selve teksten MD5(etord) i feltet, men vil gerne have den
krypteret tekst?

Hvordan skal jeg gøre det?

Database type: mySQL
Database GUI: MySQL-Front

 
 
Jakob Møbjerg Nielse~ (17-04-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 17-04-02 23:52

> Og til det skal jeg bruge i default MD5(etord)

Er det en default i tabellen du snakker om? Hvad med bare at smide
resultatet af en md5-udregning ind som default, i stedet for at lave
udregningen hver gang.

> MEN jeg får selve teksten MD5(etord) i feltet, men vil gerne
> have den krypteret tekst?

Hvis ikke det er ovenstående du tænker på, så prøv at poste dit SQL
query her.

--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey! He reminds me of someone who looks just like him. - Me"



-Martin- (18-04-2002)
Kommentar
Fra : -Martin-


Dato : 18-04-02 00:41

On Thu, 18 Apr 2002 00:52:02 +0200, "Jakob Møbjerg Nielsen"
<vitz@cs.auc.dk> wrote:

>> Og til det skal jeg bruge i default MD5(etord)
>
>Er det en default i tabellen du snakker om? Hvad med bare at smide
>resultatet af en md5-udregning ind som default, i stedet for at lave
>udregningen hver gang.

Jeg kan jo ikke udregne det på nogen måde, da jeg lige PT ikke har
noget programmeringssprog bagved!

>
>> MEN jeg får selve teksten MD5(etord) i feltet, men vil gerne
>> have den krypteret tekst?
>
>Hvis ikke det er ovenstående du tænker på, så prøv at poste dit SQL
>query her.

Okei min tabel ser noget ala sådan her

id, navn, password

Så vil jeg gerne have at hver gang en bruger bliver indtastet, så skal
password feltet gerne være ordet password krypteret med MD5 (eller
Password) som default, men hvordan får jeg det?

Thorbjørn Ravn Ander~ (18-04-2002)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 18-04-02 08:19

-Martin- <admin@natten-i.dk> writes:

> Jeg kan jo ikke udregne det på nogen måde, da jeg lige PT ikke har
> noget programmeringssprog bagved!

Saa skal funktionen vaere tilstede i databasen.

Hvis den ikke er det, maa du lave den som en stored procedure.

--
Thorbjørn Ravn Andersen
http://homepage.mac.com/ravn

Jakob Møbjerg Nielse~ (18-04-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 18-04-02 11:08

> Jeg kan jo ikke udregne det på nogen måde, da jeg lige PT
> ikke har noget programmeringssprog bagved!

??
Jeg ser ikke problemet:

mysql> select md5("Password");
+----------------------------------+
| md5("Password") |
+----------------------------------+
| dc647eb65e6711e155375218212b3964 |
+----------------------------------+

CREATE TABLE blab (
id ...,
navn...,
password CHAR(32) DEFAULT dc647eb65e6711e155375218212b3964
)

--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey! He reminds me of someone who looks just like him. - Me"



Jens Gyldenkærne Cla~ (18-04-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-04-02 12:06

-Martin- <admin@natten-i.dk> skrev:

> Så vil jeg gerne have at hver gang en bruger bliver indtastet,
> så skal password feltet gerne være ordet password krypteret
> med MD5 (eller Password) som default, men hvordan får jeg det?

Det virker som et ret svag sikkerhed - krypteringen hjælper ikke
meget, hvis alle dine brugere får det samme password fra starten.
Hvorfor beder du ikke bare brugerne om at indtaste et password fra
starten? Alternativt kan du have en liste af ord, som default
password vælges fra. Ingen af delene kræver at tabellen har en
default-værdi.

MD5-funktionen skal du under alle omstændigheder have adgang til
for at kunne indsætte og validere passwords - og af Jakobs svar
(<news:a9m5pu$pmu$1@sunsite.dk>) fremgår det at det også er muligt.

Validering af brugere:
SELECT brugernavn FROM brugere WHERE password =
MD5(<passwordvariabel>)

Ny bruger:
INSERT INTO brugere (brugernavn, password, navn) VALUES
(<brugernavnvariabel>, MD5(<passwordvariabel>), <navnvariabel>)

--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)

-Martin- (18-04-2002)
Kommentar
Fra : -Martin-


Dato : 18-04-02 12:39

On Thu, 18 Apr 2002 11:06:29 +0000 (UTC), "Jens Gyldenkærne Clausen"
<jc@dmf.dk> wrote:

>-Martin- <admin@natten-i.dk> skrev:
>
>> Så vil jeg gerne have at hver gang en bruger bliver indtastet,
>> så skal password feltet gerne være ordet password krypteret
>> med MD5 (eller Password) som default, men hvordan får jeg det?
>
>Det virker som et ret svag sikkerhed - krypteringen hjælper ikke
>meget, hvis alle dine brugere får det samme password fra starten.
>Hvorfor beder du ikke bare brugerne om at indtaste et password fra
>starten? Alternativt kan du have en liste af ord, som default
>password vælges fra. Ingen af delene kræver at tabellen har en
>default-værdi.

Det er skam også svag sikkerhed (i starten), men problemet er at alle
mine fodboldtøser skal faktisk oprettes FØR de kan logge ind, og så
ville jeg lave et login lidt ala user: trøjenummer password:
detkunnedugodtlide også nå de logger ind første gang, ja så kan de
ændre deres password. Og det virker upåklageligt osv.

Men da jeg ikke er direkte kontakt med alle tøserne, er det jo svært
at spørge dem hvilket password de vil have inden databasen er færdig.

Men jeg ska lave databasen INDEN de opretter sig, da det måske ikke
alle der lige kan komme til computeren inden den første dag jo :)

>
>MD5-funktionen skal du under alle omstændigheder have adgang til
>for at kunne indsætte og validere passwords - og af Jakobs svar
>(<news:a9m5pu$pmu$1@sunsite.dk>) fremgår det at det også er muligt.
>
>Validering af brugere:
>SELECT brugernavn FROM brugere WHERE password =
>MD5(<passwordvariabel>)

Ja det er jeg skam helt klar over, ingen problemer med det

>
>Ny bruger:
>INSERT INTO brugere (brugernavn, password, navn) VALUES
> (<brugernavnvariabel>, MD5(<passwordvariabel>), <navnvariabel>)

Jeg har prøvet:

INSERT INTO spillere (id, shirtnumber, navn, alder, p_position,
s_position, longtime, tekst, password)
VALUES (NULL, 10, 'Martin', 19, 10, 10, '1', NULL, MD5(password))

MEN det virker ikke! Hvorfor kan man ikke skrive

INSERT INTO tabel (password) VALUES (MD5(etord))

En der har en god forklaring på ovenstående ?

Jens Gyldenkærne Cla~ (18-04-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-04-02 12:53

-Martin- <admin@natten-i.dk> skrev:

> Jeg har prøvet:
>
> INSERT INTO spillere (id, shirtnumber, navn, alder, p_position,
> s_position, longtime, tekst, password)
> VALUES (NULL, 10, 'Martin', 19, 10, 10, '1', NULL, MD5(password))

Hvis du bare skal indsætte MD5-værdien af "password" ville jeg
prøve MD5("password") eller MD5('password').

Ellers må du - som det vist også er foreslået - anvende en
procedure (Stored Procedure) hvor du kan beregne værdien af
MD5("password"), gemme den i en variabel, og så benytte den i din
INSERT-sætning.

Det er lidt overkill hvis det bare drejer sig om MD5-værdien af en
fast tekst ("password") - her kan du enten lægge den som default,
eller sætte den beregnede værdi i stedet. Men hvis dine brugere
skal have mulighed for at ændre passwordet, kommer du ikke uden om
at lave en procedure eller en SQL-sætning der sætter den omregnede
værdi ind.

--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)

Jakob Møbjerg Nielse~ (18-04-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 18-04-02 12:59

> INSERT INTO tabel (password) VALUES (MD5(etord))

Prøv med:

INSERT INTO tabel (password) VALUES (MD5("etord"))

--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey! He reminds me of someone who looks just like him. - Me"



-Martin- (18-04-2002)
Kommentar
Fra : -Martin-


Dato : 18-04-02 14:10

On Thu, 18 Apr 2002 13:59:22 +0200, "Jakob Møbjerg Nielsen"
<vitz@cs.auc.dk> wrote:

>> INSERT INTO tabel (password) VALUES (MD5(etord))
>
>Prøv med:
>
>INSERT INTO tabel (password) VALUES (MD5("etord"))

Ja det virker helt fint :)

MEN hvis det skal være i default ?
Hvordan så?

Eller ska jeg bare sige til mig selv, desværre det kan ikke lade sig
gøre ?

Eller skal jeg bruge:

0539d8229a9c8599dd51b40fe7323904

som skal være default ?

Jens Gyldenkærne Cla~ (18-04-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-04-02 14:18

-Martin- <admin@natten-i.dk> skrev:

> MEN hvis det skal være i default ?

Der er noget der tyder på at der ikke understøttes funktionskald i
default.

> Eller skal jeg bruge:
>
> 0539d8229a9c8599dd51b40fe7323904

Ja - der er da heller ikke nogen grund til at bruge ekstra
processortid på at lave den samme udregning hver gang du sætter nye
rækker ind.

Du skal bare huske hvad der gemmer sig bag din default-værdi - jeg
går ud fra at der ikke findes en "un"-MD5


--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)

-Martin- (18-04-2002)
Kommentar
Fra : -Martin-


Dato : 18-04-02 14:57

On Thu, 18 Apr 2002 13:17:57 +0000 (UTC), "Jens Gyldenkærne Clausen"
<jc@dmf.dk> wrote:

>-Martin- <admin@natten-i.dk> skrev:
>
>> MEN hvis det skal være i default ?
>
>Der er noget der tyder på at der ikke understøttes funktionskald i
>default.

Det var da noget skidt, nå man nu endelig skal bruge det til noget :)

>
>> Eller skal jeg bruge:
>>
>> 0539d8229a9c8599dd51b40fe7323904
>
>Ja - der er da heller ikke nogen grund til at bruge ekstra
>processortid på at lave den samme udregning hver gang du sætter nye
>rækker ind.

De få brøkdele af sekunder det tager, så ville jeg være ret ligeglad

>
>Du skal bare huske hvad der gemmer sig bag din default-værdi - jeg
>går ud fra at der ikke findes en "un"-MD5

Nope MD5 er envejskryptering :)
Altså frem men ikke tilbage :)

Jakob Møbjerg Nielse~ (18-04-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 18-04-02 15:07

> Nope MD5 er envejskryptering :)
> Altså frem men ikke tilbage :)

Ellers kender jeg nogen der gerne vil give en milliard eller ti

Det samme, som hvis der pludselig er en der "opfinder" en algoritme til
hurtig primfaktorering (der findes algoritmer til kvantecomputere der
kan faktorere tal i størrelsesordenen 10^200 på få sekunder).

--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey! He reminds me of someone who looks just like him. - Me"



-Martin- (18-04-2002)
Kommentar
Fra : -Martin-


Dato : 18-04-02 16:24

On Thu, 18 Apr 2002 16:07:09 +0200, "Jakob Møbjerg Nielsen"
<vitz@cs.auc.dk> wrote:

>> Nope MD5 er envejskryptering :)
>> Altså frem men ikke tilbage :)
>
>Ellers kender jeg nogen der gerne vil give en milliard eller ti

Der er garanteret en temmelig simpel løsning som opfinderen sidder
inde med :)

Men jeg har tit undret mig over hvorfor den ikke kan hackes den kode.
fx password altid giver det samme i MD5() .. Nå det var vist ude på et
sidespor

Thorbjørn Ravn Ander~ (18-04-2002)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 18-04-02 16:42

-Martin- <admin@[DELETE]natten-i.dk> writes:

> Men jeg har tit undret mig over hvorfor den ikke kan hackes den kode.
> fx password altid giver det samme i MD5() .. Nå det var vist ude på et
> sidespor

Forestil dig at du faar givet et tal, og du skal saa finde ud
af hvilke to tal der er ganget sammen for at faa dette tal.

Fx 15, som er 3 x 5, og 77 som er 7 x 11.

Det er jo ikke saa svaert. Ovenstaaende kender man jo

Men hvad nu naar tallene vokser:

Hvad med 143, 4757, og 79523? Der er ikke andre muligheder end at
starte fra en ende af.

Problemet kommer i det oejeblik hvor man snakker om tal med hundrede,
maaske tusinder, af cifre, hvor selv de hurtigste computere skal regne
efter i tusindvis af aar. Det er hurtigt og nemt at gange to tal
sammen og vise resultatet er produktet af de to tal, men meget boevlet
at komme den modsatte vej.

Denne egenskab er hvad megen af den moderne kryptografi - herunder MD5
- i sidste ende bygger paa.

--
Thorbjørn Ravn Andersen
http://homepage.mac.com/ravn

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste