Děkuji všem za odpovědi. Už když jsem viděl ty opravné skriptíky, tak jsem si myslel, že to nebude jen v té nule na začátku. Přemýšlím, proč to nevadí tomu programu a s takto zničené hashe zvládne správně zjistit kód. Když jsem použil MD5 decrypt, tak mě pokaždé odmítl s tím, že délka není délkou MD5 hash. Zkoušel jsem i nějaké software, ale jakmile zjistí 31 znaků, tak odmítají pracovat. Tak přemýšlím jak to dělá software, že si správně doplní nulu na správné místo a správně zpřístupní kód. Asi si to zkusím nějak dekompilovat protože mi to moc hlava nebere (pokud to půjde). Ještě jednou děkuji, Pavel
-----Original Message----- From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On Behalf Of Petr Synek Sent: Friday, February 08, 2013 1:28 AM To: Java Subject: Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku MD5 generuje 16 bytu dlouhy binarni vystup. Tak kdo vi jak to ASCII koduji. Vypada to, ze zapominaji pridat lichou 0: 00 => 0 04 => 4 40 => 40 Petr ______________________________________________________________ > Od: "Jan Dosoudil" <jan-k...@dosoudil.chr.cz> > Komu: Java <konference@java.cz> > Datum: 08.02.2013 00:55 > Předmět: Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku > >Chybějících nul může být více a může chybět úplně kdekoli v řetězci, >tzn. opravit hash nejde. > >S pozdravem > Jan Dosoudil > >Dne 7.2.2013 22:19, Mr.Krysa napsal(a): >> Využívám program, který je určený na heslování přístupu k souborům >> (GalleryLock free) a jiným softwarem bych pak chtěl využívat >> vygenerovanou hash, kterou zmíněný program ukládá do xml (výhoda rootovaného >> telefonu). >> Právě jeho soubor xml mi plně vyhovuje pro další použití (ale ne už >> 31 znaků). Mohu se případně pokusit dekompilovat apk programu, ale >> místo opravy chyby (a upozornění autora), bych raději chtěl elegantně >> poupravit vygenerovanou hash. Je vůbec nějaká možnost takto "špatně" >> uloženou hash upravit dodatečně bez využití zmíněného programu? >> >> S pozdravem >> Pavel Jahelka >> >> -----Original Message----- >> From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] >> On Behalf Of Jan Dosoudil >> Sent: Thursday, February 07, 2013 9:37 PM >> To: Java >> Subject: Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku >> >> Hezký večer, >> pošlete kód (nebo odkaz na něj), kterým převádíte z byte[] na String, >> obvyklou chybou je převádění byte na hex bez ošetření 1znakového hex >> řetězce, kde chybí úvodní nula. >> >> S pozdravem >> Jan Dosoudil >> >> Dne 7.2.2013 21:13, Mr.Krysa napsal(a): >>> Zdravím všechny! >>> >>> Doufám, že se nebudu opakovat, ale může mi někdo pomoci pochopit >>> následující? Ukládám si hesla pod androidem (java) a ten je maskuje >>> pod md5. Jenže někdy se stane, že md5 nemá uloženo 32 znaků, ale >>> pouze >>> 31 znaků. Zjistil jsem, že je vynechána jedna nula (bohužel na >>> libovolném místě). Ale u některých hesel jsou zase uloženy správně. >>> Potřeboval bych pro další evidenci všech 32 znaků, ale na internetu >>> jsem našel jen radu o vložení nuly před hash. Také je na internetu >>> spousta skriptů, ale nefungovaly mi. Můžete mi prosím někdo >>> vysvětlit proč tomu tak je a jak nejlépe převést tuto 31 znakovou >>> hash na 32 znakovou hash. Všem děkuji za Vaše odpovědi >>> >>> >>> >>> Příklad: >>> >>> >>> >>> 6666 převedeno na e951081ac30ffa83f10b68cde1cac7, ale správně je >>> e9510081ac30ffa83f10b68cde1cac7 >>> >>> 3333 převedeno na 2be9bd7a3434f738ca27d1918de58bd, ale správně je >>> 2be9bd7a3434f7038ca27d1918de58bd >>> >>> ale u čísla 1111 je správně uložena hash >>> b59c67bf196a4758191e42f76670ceba >>> >>> >>> >> >