Avatar billede jsmitx Nybegynder
03. maj 2004 - 12:14 Der er 11 kommentarer

indsæt password i db

jeg er igang med at lave en formular til oprettelse af nye kunder.

Hvordan sikre jeg mig at det password som brugeren vælger, er krypteret og bliver gemt krypteret i databasen?

jeg har leget med noget ala:


$sql  = "INSERT INTO customers ";
    $sql .= "(name, address, city, brugernavn, email, ";
    $sql .= "password) ";
        $sql .= "VALUES";
    $sql .= "('$name', '$address', '$city', '$brugernavn', '$email', 'password('$password')')";
   
    $result = mysql_query ($sql) or die ("Oprettelsen er kikset!<br><br>". $sql);
Avatar billede sukos Juniormester
03. maj 2004 - 12:58 #1
jahh, jeg bruger selv md5()
md5($_POST["password"])

ved ikke hvad som er bedst?
Avatar billede krydset Nybegynder
03. maj 2004 - 13:06 #2
jeg ville osse bruge md5 da den paktisk talt ikke kan brydes, det vil osse sige at du ikke kan dekryptere den, men du kan sammenligne 2 md5 stringd og se om de passer sammen ved et evt login tjek
Avatar billede jsmitx Nybegynder
03. maj 2004 - 13:10 #3
men hvordan bruger jeg den i den ovenstående kode?

noget med  ...'$email, 'md5($POST["password"])')";
eller hvordan?
Avatar billede sukos Juniormester
03. maj 2004 - 13:21 #4
jahh, jeg er nu mest til at holde det adskilt:

$sql .= "('". $_POST["name"] ."', '". $_POST["address"] ."', '". $_POST["city"] ."', '". $_POST["brugernavn"] ."', '". $_POST["email"] ."', '". md5($_POST["password"]) ."')";
Avatar billede coderdk Praktikant
03. maj 2004 - 16:11 #5
$sql .= "('$name', '$address', '$city', '$brugernavn', '$email', password('$password'))";

Der var et par ' for meget :P
Avatar billede olebole Juniormester
03. maj 2004 - 19:45 #6
<ole>

Almindeligvis laver man en dobbelt md5:
  $pass = md5( md5($password) );
Evt. sammen med f.eks. brugenavnet:
  $pass = md5( md5($password).$username );

/mvh
</bole>
Avatar billede sukos Juniormester
03. maj 2004 - 19:55 #7
?
Hvis du en gang tjekker, hvad vil så en ekstra md5() gøre?

Anyway, er selv begyndt med det javascript som "forvandler" en post til md5......
æhh, der er artikel om det, her på exp.
Avatar billede olebole Juniormester
03. maj 2004 - 20:12 #8
Det er jo egentlig logisk nok - det vil forøge sikkerheden ganske ekshorbitant  :)
Først hash'er du en streng én gang ... derefter hash'er du hash'en. Der findes værktøjer til at teste sig gennem en md5 med (det er langsomt, men det kan gøres) - men hvis du hash'er endnu engang, bliver det stort set umuligt.
Derfor bruger professionelle løsninger (betalings-gateways m.m.) næsten altid dobbelt md5  :)
/mvh
Avatar billede sukos Juniormester
03. maj 2004 - 20:44 #9
Jeg er endnu ikke helt overbevist!
hvis jeg kan "grabbe" den første, hvordan vil du så sikre at jeg at ikke bare prøver med endnu en md5() hvis jeg ikke kan komme ind med den første?
Avatar billede krydset Nybegynder
03. maj 2004 - 23:33 #10
Pas nu på du ikke bliver paranoid :-P

helt derude er det strengest talt umuligt at finde frem til hvad du starter med at indtaste.

Men noget ala det her vil være Helt vildt sindsygt krypteret

$string = "Hejsa jeg er krypteret";

md5(crypt(base64_encode(md5(crypt($string)))));

echo $string;

det vil se ud som noget ala det her

db13c81650e879ba7022ed0508b9f22d


her kan du læse lidt om de funk jeg brugte
http://dk2.php.net/manual/en/function.md5.php
http://dk2.php.net/manual/en/function.base64-decode.php
http://dk2.php.net/manual/en/function.crypt
http://dk2.php.net/manual/en/function.base64-encode.php

håber du kan lave en kombination ud af de funktioner som du stoler på :-P


Hilsen krydset
Avatar billede olebole Juniormester
04. maj 2004 - 01:47 #11
sukos >> hvis ikke ord kan overbevise dig, så prøv ... og husk din sandsynlighedsregning ... mulighedernes multiplikation  ;o)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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