Presne, nechce se mi pridavat dalsi knihovnu, tedy delat dalsi problemy s classloaderem, do weboveho projektu. Myslel jsem spis, jestli neco neni primo v JDK, protoze jak rikam - kdo kdy pouzil md5, aniz by nepotreboval hex reprezentaci? ...
Mimochodem, kde muze clovek davat feature requesty do JDK? Snad by nebylo takove zlo pridat k MessageDigest metodu toHexString(), kterou nejspise vyuziji vsechny implementace... Pochopitelne to dole byl jen prvni nastrel, jinak jsem nasel i knihovnu napsanou v C a pripojovanou pres JNI. Za kodovani se omlouvam, holt jsem z historickych duvodu prilnul k Outlooku :-) Diky vsem za odpovedi. Ondra "Filip Jirsák" <[EMAIL PROTECTED]> pí¹e v diskusním pøíspìvku news:[EMAIL PROTECTED] | Zdravím, je na to "zkratka" Jakarta Commons Codec - | http://commons.apache.org/codec/ a statické metody její tøídy | org.apache.commons.codec.binary.Base64. Otázka je, zda se vám kvùli | tomu vyplatí pøidávat závislost na nové knihovnì. U toho kódy, který | máte vy, bych si dal pozor na bajty v rozsahu 0x00 a¾ 0x0F - aby se | vypsala i ta úvodní nula. No a pak by se to dalo napsat mnohem | efektivnìji - není potøeba pro ka¾dý bajt vytváøet nový objekt Byte, | parsovat formátovací øetìzec, skládat výsledek do øetìzce a ten pak | zase pøidat do StringBuilderu. Rychlej¹í by asi bylo pou¾ít bitový | posun a switch nebo pole. | | Filip Jirsák | | 24.1.08, Ondra Zizka <[EMAIL PROTECTED]>: | > Ahoj, | > | > chtìl bych pøevést byte[] (MD5 hash) na String reprezentaci pomocí hex | > èíslic. | > Je na to nìjaká zkratka? A» to nemusím dìlat ruènì: | > | > MessageDigest md = MessageDigest.getInstance("MD5"); | > String sPassword = "ahojlidi"; | > byte[] acPassword = sPassword.getBytes(); | > byte[] acHash = md.digest( "ahojlidi".getBytes() ); | > StringBuilder sb = new StringBuilder(32); | > for( byte b : acHash ){ | > sb.append( String.format("%x", new Byte(b)) ); | > } | > System.out.println( sb.toString() ); | > | > Pøijde mi to takhle dost rozpovídané na to, ¾e napø. v PHP (ze kterého | > pøecházím) je to jen md5("ahojlidi") a v Pythonu | > "md5.new('ahojlidi').hexdigest()". | > Tak doufám, ¾e jsem snad jen pøehlédl nìjakou metodu md.getDigestAsHex(), | > jeliko¾ je to asi nejèastìj¹í reprezentace MD5 a naprosto ka¾dý ji jistì | > hledá. | > Chápu, ¾e to není ideologicky èisté, ale "let's not be insane". | > | > Díky, Ondra | > | > | > | > | | | | -- | Filip Jirsák | [EMAIL PROTECTED] |
