RE: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

2013-02-08 Tema obsahu Mr.Krysa
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:

  

  převedeno na e951081ac30ffa83f10b68cde1cac7, ale správně je
 e9510081ac30ffa83f10b68cde1cac7

  převedeno na 2be9bd7a3434f738ca27d1918de58bd, ale správně je 
 2be9bd7a3434f7038ca27d1918de58bd

 ale u čísla  je správně uložena hash 
 b59c67bf196a4758191e42f76670ceba

  

 




Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

2013-02-08 Tema obsahu Filip Jirsák
Zdravím,
MD5 není šifra, ale hash (otisk). Tj. kontrola hesla pomocí MD5 se nedělá
tak, že by se z MD5 získalo původní heslo (to nejde, existuje nekonečně
mnoho vstupů se stejným MD5 hashem – nanejvýš můžete zkoušet různá hesla a
testovat, zda výsledný hash není shodný s tím, který máte). Kontrola hesla
funguje tak, že se z hesla zadaného uživatelem znovu spočítá MD5 hash a ten
se porovná s tím uloženým – a pokud jsou shodné, uživatel zadal správné
heslo. No a pokud aplikace počítá MD5 hash špatně, ale vždycky stejně,
spočítá ze stejného hesla i stejný pokažený MD5 otisk a porovnání otisků
pak funguje správně. Neboli ten program nemusí nikam nuly doplňovat, stačí,
když při dalším výpočtu MD5 otisku ze stejného vstupu vynechá na výstupu
ty samé znaky.

Někdy se pro rozlousknutí MD5 hashů hesel používají duhové tabulky – je
to seznam už předpočítaných hashů pro nějaká nejčastější hesla.
Systematické vynechání některých znaků při převodu MD5 otisku z binární do
textové podoby teoreticky může být (hloupá) ochrana proti duhovým tabulkám.

S pozdravem

Filip Jirsák


Dne 8. února 2013 9:33 Mr.Krysa mr.kr...@atlas.cz napsal(a):

 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.


Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

2013-02-08 Tema obsahu Ondrej Nekola
Neznam konkretni situaci, takze se mozna ptam spatne, protoze s tim
nemuzete nic udelat: Musite pouzivat zrovna MD5? Nebylo by lepsi sahnout po
nejake jine hashfunkci? Neco z rodiny SHA (Schneier Has Access) pro
kontrolu otisku a nebo specializovane (=umyslne pomale) hashfunkci pro
ukladani hesel? MD5 je z hlediska bezpecnosti uz ponekud za zenitem...
A z podobneho soudku: solite? ;)
  O.N.

Best regards
Ondřej @satai Nekola

--
Understanding is a three edged sword. Your side, their side, and the truth.



2013/2/7 Mr.Krysa mr.kr...@atlas.cz

 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:

 ** **

  převedeno na e951081ac30ffa83f10b68cde1cac7, ale správně je
 e9510081ac30ffa83f10b68cde1cac7

  převedeno na 2be9bd7a3434f738ca27d1918de58bd, ale správně je
 2be9bd7a3434f7038ca27d1918de58bd 

 ale u čísla  je správně uložena hash b59c67bf196a4758191e42f76670ceba*
 ***

 ** **



RE: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

2013-02-08 Tema obsahu Mr.Krysa
Jestli jsem se o md5 vyjádřil jako o šifře, tak jsem to nemyslel doslova.
Bylo to myšleno, že ten program se honosí tímto označením. Děkuji také za
vysvětlení proč program funguje i když jiné ne. Trošku jsem se už zacyklil a
už mi to moc hlava nebrala. Původně jsem chtěl využít zmíněných opravných
skriptů a následně pokračovat, ale když to nešlo, tak mě začal více zajímat
důvod proč to nejde. Za čas který jsem tomu věnoval už bych měl jiné řešení,
ale někdy se prostě člověk nechce pustit původní myšlenky a má to jako
výzvu. Také jsem si vygeneroval i decryptovací tabulky pro cain and abel v
domnění, že více pochopím problém, ale je to prostě jen chyba v programu a
není moc co chápat. Alespoň jsem si ověřil, že pokud vytvořím 32 modifikací
(vždy jinde s umístěním nuly), tak jen ta jedna hash je decryptována a
ostatní jsou vyhodnoceny jako nedecryptované (zkoušena tabulka pro všechny
znaky, písmena i číslice do délky slova na 16 míst). Ještě jednou bych Vám
všem chtěl poděkovat za Vaše přínosné myšlenky i rady!

 

Pro Ondru: Md5 je jistě překonaná, ale následně po jednoduché úpravě a na
první pohled nelogického přeházení znaků se dá ještě použít. Ale jinak
souhlasím, že SHA je úplně někde jinde a je pochopitelně lepší.  

 

From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On
Behalf Of Ondrej Nekola
Sent: Friday, February 08, 2013 4:34 PM
To: Java
Subject: Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

 

Neznam konkretni situaci, takze se mozna ptam spatne, protoze s tim nemuzete
nic udelat: Musite pouzivat zrovna MD5? Nebylo by lepsi sahnout po nejake
jine hashfunkci? Neco z rodiny SHA (Schneier Has Access) pro kontrolu otisku
a nebo specializovane (=umyslne pomale) hashfunkci pro ukladani hesel? MD5
je z hlediska bezpecnosti uz ponekud za zenitem...

A z podobneho soudku: solite? ;)

  O.N.




Best regards
Ondřej @satai Nekola

--
Understanding is a three edged sword. Your side, their side, and the truth.

 

2013/2/7 Mr.Krysa mr.kr...@atlas.cz

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:

 

 převedeno na e951081ac30ffa83f10b68cde1cac7, ale správně je
e9510081ac30ffa83f10b68cde1cac7

 převedeno na 2be9bd7a3434f738ca27d1918de58bd, ale správně je
2be9bd7a3434f7038ca27d1918de58bd 

ale u čísla  je správně uložena hash b59c67bf196a4758191e42f76670ceba

 

 



RE: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

2013-02-08 Tema obsahu Petr Synek
Tomu programu to zřejmě nevadí proto, že hash MD5 hesla používá rovnou jako 
klíč (heslo) pro šifrovací i dešifrovací funkci. Např. pro AES, 3DES apod. 

Kryptografický hash se zpět na původní text už nepřevádí. Protože je to 
extrémně obtížné. Tak pochybuju, že by to autor toho programu dobrovolně dělal. 

Doporučuji si o tom něco přečíst aspoň na wikipedii. 

Petr

__
 Od: Mr.Krysa mr.kr...@atlas.cz
 Komu: 'Java' konference@java.cz
 Datum: 08.02.2013 09:33
 Předmět: RE: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

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:

  

  převedeno na e951081ac30ffa83f10b68cde1cac7, ale správně je
 e9510081ac30ffa83f10b68cde1cac7

  převedeno na 2be9bd7a3434f738ca27d1918de58bd, ale správně je 
 2be9bd7a3434f7038ca27d1918de58bd

 ale u čísla  je správně uložena hash 
 b59c67bf196a4758191e42f76670ceba

  

 





Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

2013-02-07 Tema obsahu Jan Dosoudil
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:
 
  
 
  převedeno na e951081ac30ffa83f10b68cde1cac7, ale správně je
 e9510081ac30ffa83f10b68cde1cac7
 
  převedeno na 2be9bd7a3434f738ca27d1918de58bd, ale správně je
 2be9bd7a3434f7038ca27d1918de58bd
 
 ale u čísla  je správně uložena hash b59c67bf196a4758191e42f76670ceba
 
  
 


RE: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

2013-02-07 Tema obsahu Mr.Krysa
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:
 
  
 
  převedeno na e951081ac30ffa83f10b68cde1cac7, ale správně je
 e9510081ac30ffa83f10b68cde1cac7
 
  převedeno na 2be9bd7a3434f738ca27d1918de58bd, ale správně je 
 2be9bd7a3434f7038ca27d1918de58bd
 
 ale u čísla  je správně uložena hash 
 b59c67bf196a4758191e42f76670ceba
 
  
 



Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

2013-02-07 Tema obsahu Jan Dosoudil
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:

  

  převedeno na e951081ac30ffa83f10b68cde1cac7, ale správně je
 e9510081ac30ffa83f10b68cde1cac7

  převedeno na 2be9bd7a3434f738ca27d1918de58bd, ale správně je 
 2be9bd7a3434f7038ca27d1918de58bd

 ale u čísla  je správně uložena hash 
 b59c67bf196a4758191e42f76670ceba

  

 


Re: MD5 vznikla v JAVA s 31 znaky misto 32 znaku

2013-02-07 Tema obsahu Petr Synek
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:

  

  převedeno na e951081ac30ffa83f10b68cde1cac7, ale správně je
 e9510081ac30ffa83f10b68cde1cac7

  převedeno na 2be9bd7a3434f738ca27d1918de58bd, ale správně je 
 2be9bd7a3434f7038ca27d1918de58bd

 ale u čísla  je správně uložena hash 
 b59c67bf196a4758191e42f76670ceba