Kryptering og predefined statements
Hej derudeJeg sidder med nogle ting jeg har kigget lidt på indenfor det seneste stykke tid, og kunne godt tænke mig eksperters syn på sagen.
I øjeblikket bruger jeg sha1() funktionen til kryptering af mine passwords mm., men kunne godt tænke mig at prøve kræfter med crypt()-funktionen, der understøtter sha512, men når jeg læser http://dk.php.net/manual/en/function.crypt.php forstår jeg ikke hvorfor den vil have mig til at skrive (eksempelvis)
echo 'SHA-512: ' . crypt
Hvorfor skal der echo før crypt? Har prøvet det og kunne godt få det til at virke, men jeg prøver at forstå hvorfor sha-512 skal printes? Jeg kunne også godt tænke mig at få funktionen ind i denne funktion:
function hashPassword($password, $salt = '') {
if ($salt == '') {
$salt = sha1(uniqid(microtime()));
}
$salt = substr($salt,0,20);
return $salt.sha1($salt.$password);
}
Har prøvet med lidt forskelligt dog uden held.
Derudover kunne jeg godt tænke mig at vide lidt mere om predefined statements, har læst lidt omkring og det skulle vist være det nye sort i bekæmpelsen af SQL-injections osv., men hvordan skulle følgende kode eksempelvis skrives?
(eksempel fra php.net)
$string = $_REQUEST['string'];
$binary = file_get_contents($_FILE['file']['tmp_name']);
$string = mysql_real_escape_string($string);
$binary_hex = bin2hex($binary);
$query = "INSERT INTO `table` (`key`, `string`, `binary`, `other`) VALUES (NULL, '$string', 0x$binary_hex, '$other')";
(Nu søgte jeg lige en ekstra gang på php.net for at finde noget testkode fra predefined statements men kunne ikke finde noget, så er blevet lidt i tvivl om hvorvidt det hedder predefined statements det jeg leder efter, men jeg håber de fleste ved hvad jeg mener alligevel =) )
På forhånd mange tak for hjælpen :)
