Citat:
Ursprungligen postat av Jonas
Citat:
Originally posted by -NevYn@Mar 11 2008, 23:23
ehm, läste du hela raden, eller stannade du bara vid base64_encode?
|
MMM jag läste hela raden.
Kod:
$pass = base64_encode(hash_hmac,'sha512',$pwd,hash_hmac('sha512',$dynsalt1,$dynsalt2,true),true));
Där du har en konstant, klartext, variabel, function,konstant.
Citat:
Ursprungligen postat av NevYn
anledningen till att jag kör base64_encode på det är för att få det i ett format som går att använda vettigt oberoende av vilket charset jag får för mig att använda i databasen..
|
Kvittar vilken charset du kör i MySQL, det handlar mer om vilket charset du skriver ut sidan i och vilket charset du får inputen i.
MySQL lagrar datat i det format du väljer att spara det som.
Du kan lagra UTF-8 i en Latin1 tabell utan problem, problemet dyker upp först när du skall läsa datat i någon mysql klient, men skriver du ut det på en websida så har du inga problem sålänge sidan visas i UTF-8.
Mao base64 är bara något värdelöst, räcker att datat i mysql är samma som datat du får ifrån användaren så fungerar det.
|
oj, såg nu att jag hade skrivit fel..
Kod:
$pass = base64_encode(hash_hmac,'sha512',$pwd,hash_hmac('sha512',$dynsalt1,$dynsalt2,true),true));
ska vara
Kod:
$pass = base64_encode(hash_hmac('sha512',$pwd,hash_hmac('sha512',$dynsalt1,$dynsalt2,true),true));
hash_hmac — Generate a keyed hash value using the HMAC method
string hash_hmac ( string $algo , string $data , string $key [, bool $raw_output ] )
'sha512' => algoritmen som används
$pwd = användarens lösenord
$dynsalt1 och $dynsalt2 är helt skilda från varandra, och unika för varje användare.
men men.. du menar alltså att base64_encode() skulle sabba hela funktionen?