Avatar billede zetn Nybegynder
26. oktober 2004 - 15:18 Der er 7 kommentarer og
1 løsning

kryptering af password

Hej Exp,

Hvordan gør jeg så jeg kan kryptere passwords i en mysql database. Det skal på ingen måde være muligt for en bruger at kunne se hvad koden er.

/jacob
Avatar billede fennec Nybegynder
26. oktober 2004 - 15:22 #1
MySQL har forskellige krypterings rutiner indbygget, som du kan kalde når du gemmer data. Se hvilke her:

http://dev.mysql.com/doc/mysql/en/Encryption_functions.html

Så er det bare at vælge den metode du helst vil bruge.
Avatar billede zetn Nybegynder
26. oktober 2004 - 15:27 #2
Er der noget specielt jeg skal tage højde for hvis jeg senere vil lave noget med sha-1 eller md5 kryptering når man henter passwordet igen?
Avatar billede zetn Nybegynder
26. oktober 2004 - 15:28 #3
Tænkte lige på:

nu har jeg sat og læst denne artikel: http://activedeveloper.dk/artikler/default.asp?articleid=320

nu læste jeg lige på dit link følgende:

SHA1() was added in MySQL 4.0.2, and can be considered a cryptographically more secure equivalent of MD5(). SHA() is synonym for SHA1().

Vil det betyde at sha1 er bygget ind i mysql nu og man ikke skal bruge de javascript filer som der bliver omtalt i det første link?

/jacob
Avatar billede fennec Nybegynder
26. oktober 2004 - 15:43 #4
Jeps. Du behøver ikke bruge de filer. Det handler om hvornår teksten bliver krypteret. Enten gør man det inder det bliver overført til databasen (som i eksemplet fra activeDeveloper) eller man lader databasen gøre det. Du skal bare være opmærksom på, at de funktioner ikke nødvendigvis ligger på andre databaser, så hvis du skifter database, vil det ikke virke længre. Men hvor tit skifter man lige database.
Avatar billede zetn Nybegynder
26. oktober 2004 - 15:50 #5
I eksemplet fra active er det da når det er man logger ind, så skal passwordet der bliver sendt til databasen krypteres, men når det er man opretter en bruger så skal det blive krypteret det der skal smides ind i databasen.

Du har tilfældigvis ikke lige nogle eksempler på strenge der netop gør disse to ting?

/jacob
Avatar billede fennec Nybegynder
27. oktober 2004 - 09:39 #6
Som sagt, handler det om hvornår man vil kryptere teksten. Du har to muligheder:

1. Lav en funktion i ASP som gør det, som de har gjort på AD (her kaldet MD5kryp())
2. Brug MySQL's funktion.

Det bliver så til:
1: conn.execute("insert into DinTabel(brugernavn,brugerpass) values ('"& request.form("navn") &"','"& MD5kryp(request.form("pass")) &"')")

eller:
2: conn.execute("insert into DinTabel(brugernavn,brugerpass) values ('"& request.form("navn") &"',md5('"& request.form("pass") &"')")

De to SQL-sætninger bliver så:
1: insert into DinTabel(brugernavn,brugerpass) values ('etNavn','kib4uh3tg2ty4jh5cv2c33')
2: insert into DinTabel(brugernavn,brugerpass) values ('etNavn',MD5('etPassword'))

I sidste ende er det de samme værdier, der bliver indsat i databasen.
Avatar billede zetn Nybegynder
20. januar 2005 - 12:54 #7
smid et svar
Avatar billede fennec Nybegynder
20. januar 2005 - 13:01 #8
.o) <-- One Eyed Jack
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

IT-JOB