FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Har WN som tidsfördriv
|
Hej,
i ett fält i tabellen lagrar jag lösenord i form av saltad 512bit SHA2. Fältet i fråga är BINARY(64). Nu är det så att vissa lösenord får padding i tabellen och därefter misslyckas. Varför det blir så förstår jag inte alls, SHA2 skall väl alltid vara 512bit (64 byte)?? Ett exempel för lösenordet skafiskafnjakJ]Mw<[j_s4%F0+|JayQHYLd27vrO]UCV~Stz;+H_VtlQwS%o*Vmig_r+K{b&|4|; PHP-kod:
PHP-kod:
PHP-kod:
|
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Troligen måste du tänka på det i detta sammanhang. Jag vet inte men det är en kvalificerad gissning. Ett annat problem är om du använder kolumner med fix längd, då måste databasen fylla ut med något tecken och då stämmer inte värdet längre. Typexemplet är många använder CHAR (fyller automatiskt ut värdet så det alltid är exakt antal tecken lagrade) i stället för VARCHAR (semidynamisk längd, man anger en maxstorlek vid definitionen men sedan justeras längden av datat inom denna ram efter behov). Senast redigerad av Conny Westh den 2011-12-28 klockan 12:55 |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Har WN som tidsfördriv
|
Stort tack Conny för ditt svar, du är hjälpsam som vanligt.
Det är precis som du säger (och jag misstänkte). Lösenord hanterades som strängar vilket var mindre bra, detta gjorde bla. att citationstecken kunde genereras vilket tog sönder query. Då det enda fördelen med binär approach var att datat tar mindre plats (men det blev jobbigare att jobba med) valde jag istället att göra om fältet till CHAR(128) och lagra som hex, vilket genast gjorde saker en aning lättare ![]() Senast redigerad av jayzee den 2011-12-28 klockan 13:41 |
||
![]() |
![]() |
Svara |
|
|