FAQ |
Kalender |
![]() |
#11 | ||
|
|||
Nykomling
|
Citat:
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.. Kod:
$pwd = 'hej'; $dynsalt1 = 'hej'; $dynsalt2 = 'hej; $pass = base64_encode(hash_hmac('sha512',$pwd,hash_hmac('sha512',$dynsalt1,$dynsalt2,true),true)); echo $pass . "<br><br>" . base64_decode($pass); bp7TOwYAEtNUXV0jTcoJxRqQ0gBhflcqOABRP2t8VnPxwEmRuG H+Dl1BmEX2VwX6bT2I0rzHSXYv1HcajDT9Rw== nžÓ;ÓT]]#MÊ Å?Òa~W*8Q?k|VsñÀI‘¸aþ]A˜EöWúm=ˆÒ¼ÇIv/ÔwŒ4ýG så att de skulle få mitt lösenord i klartext genom att jag använder base64_encode ställer jag mig ytterst tveksam till... NOTERA: fortfarande inte hela systemet, utan bara hash-lösningen som jag kör med... tänker inte skriva ut hela heller :P |
||
![]() |
![]() |
![]() |
#12 | ||
|
|||
Har WN som tidsfördriv
|
[/QUOTE]
Citat:
Som jag skrev i edit så har jag glömt uppdatera SQL inputen till prepared. Man kan sen utköka de script jag skickade med mer säkerhet... men det va inte det som diskutterades här. Läs mer här (php.net) Citat:
|
||
![]() |
![]() |
![]() |
#13 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Kod:
$pass = base64_encode(hash_hmac,'sha512',$pwd,hash_hmac('sha512',$dynsalt1,$dynsalt2,true),true)); Citat:
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. |
||
![]() |
![]() |
![]() |
#14 | |||
|
||||
Nykomling
|
Citat:
Kod:
$pass = base64_encode(hash_hmac,'sha512',$pwd,hash_hmac('sha512',$dynsalt1,$dynsalt2,true),true)); Kod:
$pass = base64_encode(hash_hmac('sha512',$pwd,hash_hmac('sha512',$dynsalt1,$dynsalt2,true),true)); 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? |
|||
![]() |
![]() |
![]() |
#15 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Har du en specifik längd (md5 = 32tecken, sha1 = 40tecken osv) så hade jag satsar på en varbinary (som varchar fast för binär data) eller någon blob istället. Båda 2 är casesensitiv vilket jag misstänker är kritiskt för dig samt har inget med charset att göra. |
||
![]() |
![]() |
![]() |
#16 | ||
|
|||
Nykomling
|
Citat:
Förutom min min blunder gällande det, vad tycker du om själva sättet att hasha på? |
||
![]() |
![]() |
![]() |
#17 | |||
|
||||
Mycket flitig postare
|
Citat:
![]() Att Base64-encoda en hash tar mindre plats att lagra i en databas än hex-encodad hash. Exempel: raw MD5 = 16 tecken base64 MD5 = ca 25 tecken hexadecimal MD5 = 32 tecken |
|||
![]() |
![]() |
![]() |
#18 | ||
|
|||
Nykomling
|
Citat:
base64 = 88 tecken binärt = 64 tecken |
||
![]() |
![]() |
![]() |
#19 | |||
|
||||
Mycket flitig postare
|
Citat:
|
|||
![]() |
![]() |
![]() |
#20 | ||
|
|||
Klarade millennium-buggen
|
Citat:
|
||
![]() |
![]() |
Svara |
|
|