Citat:
Ursprungligen postat av Jonas
Citat:
Originally posted by -Hjalmarsson@Jul 1 2009, 21:25
Citat:
Ursprungligen postat av Jonas
MD5 är inget säkert sätt för att hasha lösenord.
Unna dig SHA-1 eller något starkare.
Och använd gärna en SALT eller något också. Tex i php:
Kod:
function hashpasspassword, salt
{
oldpass = str_splitpassword, intvalstrlenpassword / 2;
newpass = sha1oldpass0 . salt . oldpass1;
return newpass;
}
salt = €%/=OJKDKAS;
password = abc123;
hashpassword = hashpasspassword, salt;
|
Håller ju bara om strängens längd INTE är udda.
return newpass;
|
Nej, det gör det inte.
intval() returnerar "false" om det är en bokstav först, är det siffror så returnerar den alla siffror fram tills det att ett icke numeriskt tecken dyker upp. Så är det en float så avrundar den nedåt.
Låt säga: 3.9 så returneras 3, vid a301 så returneras false osv.
Läs på om funktionerna...
|
Kod:
$salt = 'salt';
$password = 'abcd123';
$oldpass = str_split($password, intval(strlen($password) / 2));
$newpass = $oldpass[0] . " - ". $salt . " - " .$oldpass[1];
Kod:
//oldpass
Array
(
[0] => abc
[1] => d12
[2] => 3
)
//newpass
abc - salt - d12
Så du vill fortfarande splitta strängen var 3'e
Kod:
$str = "0123456789abcdefghijk"; //21 tecken långt
$arr = str_split($str, 10); //splittar var 10e
Kod:
Array
(
[0] => 0123456789
[1] => abcdefghij
[2] => k
)
Kom igen nu för fan.