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 >> >> >> >