FAQ |
Kalender |
2009-07-02, 03:58 | #21 | |||
|
||||
Medlem
|
Citat:
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 Kod:
$str = "0123456789abcdefghijk"; //21 tecken långt $arr = str_split($str, 10); //splittar var 10e Kod:
Array ( [0] => 0123456789 [1] => abcdefghij [2] => k ) |
|||
Svara med citat |
2009-07-02, 11:29 | #22 | ||
|
|||
Klarade millennium-buggen
|
Vad är problemet?
Det kommer fortf. att ge samma resultat när användaren skriver in sitt lösenord? Den användare först och andra placeringen i arrayen. Den 3dje används inte vid lösenordsskapande eller lösenordsverifiering. Ja, kan klassas som osäkert eftersom sista tecknet inte kontrolleras. |
||
Svara med citat |
2009-07-02, 12:07 | #23 | ||
|
|||
Supermoderator
|
Citat:
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2009-07-02, 17:42 | #24 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Eller så byter man ut str_split emot: Kod:
function hashpass ($password, $salt) { $len = intval(strlen($password) / 2); $oldpass1 = substr($password, 0, $len); $oldpass2 = substr($password, $len); $newpass = sha1($oldpass2 . $salt . $oldpass2); return $newpass; } Kod:
function hashpass ($password, $salt) { $len = intval(strlen($password) / 2); $oldpass1 = substr($password, 0, $len); $oldpass2 = substr($password, $len); $tohash = $oldpass2 . $salt . $oldpass2; $newpass = hash('whirlpool', $tohash); return $newpass; } |
||
Svara med citat |
2009-07-02, 18:09 | #25 | ||
|
|||
Supermoderator
|
Det funkar annars att bara köra så här:
Kod:
$oldpass = str_split($password, (strlen($password) / 2) + 1);
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
Svara |
|
|