Kom ihåg mig?

[MySQL] Data i binärfält blir fel

 
Ämnesverktyg Visningsalternativ
Oläst 2011-12-28, 12:49 #2
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Ursprungligen postat av jayzee Visa inlägg
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 genererad SHA-(hash("sha512" ...))
f2831318c0eb9aa3b78468c61a985c7d76a9d51c8f582863af31a5e919143088068ab25918bbe5f4398d26a08cd808b9297ec6d2167816cf45c22ce43ade4947 
PHP-kod:
MySQL genererad SHA-(select sha2(value512)):
f2831318c0eb9aa3b78468c61a985c7d76a9d51c8f582863af31a5e919143088068ab25918bbe5f4398d26a08cd808b9297ec6d2167816cf45c22ce43ade4947 
PHP-kod:
SHA-2 som finnes i databasen:
f2831318c0eb9aa3b78468c61a987d76a9d51c8f582863af31a5e919143088068ab25918bbe5f4398d26a08cd808b9297ec6d2167816cf45c22ce43ade494700 
Varför sker detta?
I de flesta programspråk måste du skilja på binärdata och strängar. Strängar brukar ofta hanteras med att systemet lägger på radslut eller paddar in andra tecken medan binärdata behålls 100% intakt utan tillagda tecken.

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
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:37.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017