programista87 napisał(a)
Że jak? Przecież w ten sposób liczysz md5 śmieci z pamięci, nie wiem jak to ma w sprawdzaniu pomóc...
raczej nie ze smieci a z pustej wiadomosci, bo do wiadomosci dokleja sie bit = 1, i jako ze wiadomosc ma dlugosc=0 to dokleja sie same 0 i powstaje blok: <512b>[1,<511b>0] i w ten wlasnie o to sposob chcialem sobie ulatwic. o ile dobrze pamietam to nawet po podaniu wiadomosci nadal dostaje rozne wyniki
--
o blad podejzewam teraz linijke z pliku md5.cpp
b=b+lor(a+f+k[i]+w[g],r[i]);
wiec zarazem metode:
inline uint32 md5::lor(uint32 x,int c){
return (x << c) | (x >> (32-c));
}
, ale nadal nie widze nic zlego - pewnie falszywy trop:(
zauważyłem tez ze pierwsze wypisanie na ekran tylko rozni sie od pozostalych (np wypisujac 100 razy dostaje pierwszy raz inna wartosc a 99razy inna, lecz ciagle te sama)
po prostu sam nie wiem o co chodzi :(