Anonymní profil Argos – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Argos – Programujte.comAnonymní profil Argos – Programujte.com

 

Příspěvky odeslané z IP adresy 89.248.248.–

Argos
Java › PHP fce(joomla) převedená do…
5. 12. 2009   #120684

To Argos : Beru zpět - přece jen s Javou jsem začal oproti php poměrně nedávno a tak jsem si ještě nezvyknul na to že dva řetězce se musí porovnávat .equals(); - vše jede jak má, akorát zrovna asi když jsem si vypisoval mezihodnoty, tak jsem zadal jiný řetězec ze kterého se vypisovalo, takže i výsledný hash byl jiný... :-[

Argos
Java › PHP fce(joomla) převedená do…
5. 12. 2009   #120681

Ahoj, potřeboval bych se přihlásit do Joomly ze své java aplikace, nicméně mám problém s porovnáním hesla, v Joomle se dané heslo porovnává následovně:

public static boolean check(String passwd,String dbEntry) {

if (passwd==null || dbEntry==null || dbEntry.length()==0)
throw new IllegalArgumentException();
String[] arr = dbEntry.split(":",2);
if (arr.length==2) {
// new format as {HASH}:{SALT}
String cryptpass = arr[0];
String salt = arr[1];

return md5(passwd+salt).equals(cryptpass);
} else {
// old format as {HASH} just like PHPbb and many other apps
String cryptpass = dbEntry;

return md5(passwd).equals(cryptpass);
}

do Javy jsem danou funkci převedl jako:


private boolean hashPassword(String txtPass2,String dbEntry) {
String hashword = null;
String orig = null;
String salt = null;
try {
StringTokenizer tk = new StringTokenizer(dbEntry,":");
orig = tk.nextToken();
salt = tk.nextToken();
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update((txtPass2+salt).getBytes(),0,(txtPass2+salt).length());
BigInteger hash = new BigInteger(1, md5.digest());
hashword = hash.toString(16);

} catch (NoSuchAlgorithmException nsae) {

}
return (hashword==orig);
}

a následně samozřejmě
boolean hash = hashPassword(txtPass, dbEntry);

nicméně řetězec který si z vloženého textu generuje php a java se prostě liší(délka stejná), neví někdo kdě dělám chybu? děkuji za každé nakopnutí správným směrem... ;-).

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý