Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Web Server > Hosting, Housing e Domini
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti

Hosting, Housing e Domini Spazi, tenuta, offerte e supporto URL

Hey Amico Visitatore,
Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Hosting, Housing e Domini


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 01-09-08, 21:16   #1 (permalink)
User Newbie
 
Data di registrazione: Jul 2008
Messaggi: 9
Usare i dati di login di Joomla con asp.net

Qualcuno sa come poter effettuare il login in asp.net usando il database di joomla 1.5?
La password è memorizzata nel database MySql con un hash MD5, ma non sono riuscito a capire come ricrearla uguale per confrontare se quella inserita combacia con quella nel database...
Qualcuno mi può aiutare?
vayolet non in linea   Rispondi citando
Vecchio 02-09-08, 11:21   #2 (permalink)
 
Data di registrazione: Jul 2008
Messaggi: 92
non so quale sia il problema che incontri: le password di joomla sono memorizzate come hai detto te, cioè oscurate con la funzione hash MD5, per giunta senza aggiungere sale.
Per creare l'hash della parola "password" basta quindi fare MD5('password') nella query SQL, o usare il metodo ComputeHash della classe MD5CryptoServiceProvider e poi creare la rappresentazione esadecimale dei byte ottenuti
__________________
Recensioni e sconti hosting
jocker non in linea   Rispondi citando
Vecchio 02-09-08, 11:58   #3 (permalink)
User Newbie
 
Data di registrazione: Jul 2008
Messaggi: 9
E' esattamente quello che faccio ma non mi ritorna la stessa stringa che c'è sul database.
Ho trovato su joomlaaa.com una classe java dalla quale ho preso spunto per crearne una in C# ma non c'è stato niente da fare?
La classe è questa:

public class Joomla15PasswordHash
{
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);
}
}

static Random _rnd;

public static String create(String passwd) {
StringBuffer saltBuf = new StringBuffer();
synchronized (Joomla15PasswordHash.class) {
if (_rnd==null) _rnd=new SecureRandom();
int i;
for (i=0;i<32;i++) {
saltBuf.append(Integer.toString(_rnd.nextInt(36),3 6));
}
}
String salt = saltBuf.toString();

return md5(passwd+salt)+":"+salt;
}

/** Takes the MD5 hash of a sequence of ASCII or LATIN1 characters,
* and returns it as a 32-character lowercase hex string.
*
* Equivalent to MySQL's MD5() function
* and to perl's Digest::MD5::md5_hex(),
* and to PHP's md5().
*
* Does no error-checking of the input, but only uses the low 8 bits
* from each input character.
*/
private static String md5(String data) {
byte[] bdata = new byte[data.length()]; int i; byte[] hash;

for (i=0;i<data.length();i++) bdata[i]=(byte)(data.charAt(i)&0xff );

try {
MessageDigest md5er = MessageDigest.getInstance("MD5");
hash = md5er.digest(bdata);
} catch (GeneralSecurityException e) { throw new RuntimeException(e); }

StringBuffer r = new StringBuffer(32);
for (i=0;i<hash.length;i++) {
String x = Integer.toHexString(hash[i]&0xff);
if (x.length()<2) r.append("0");
r.append(x);
}
return r.toString();
}
}
vayolet non in linea   Rispondi citando
Vecchio 02-09-08, 12:45   #4 (permalink)
 
Data di registrazione: Jul 2008
Messaggi: 92
mamma mia quanto codice!

Codice:
using System.Security.Cryptography;
using System.Text;

static string getHash(string psw)
{
     MD5 md5 = new MD5CryptoServiceProvider();
    byte[] hash = Encoding.UTF8.GetBytes(psw);
    hash = md5.ComputeHash(hash);
    StringBuilder sb = new StringBuilder();
    foreach (byte b in hash)
         sb.Append(b.ToString("x2"));
    return sb.ToString();
}
__________________
Recensioni e sconti hosting
jocker non in linea   Rispondi citando
Vecchio 02-09-08, 12:56   #5 (permalink)
User Newbie
 
Data di registrazione: Jul 2008
Messaggi: 9
E' la stessa cosa che ho fatto io!!!

Il problema è che il risultato non è uguale a quello salvato nel database.
La classe che java che ho messo sopra implementava anche il salt, e anche usando il salt, il risultato non cambia....

Ricordo che sto parlando di Joomla 1.5
C'è qualcosa che mi sfugge?
vayolet non in linea   Rispondi citando
Vecchio 02-09-08, 12:58   #6 (permalink)
 
Data di registrazione: Jul 2008
Messaggi: 92
hmm
prima di rispondere avevo controllato nella mia installazione di joomla (1.5.6) e assunto (erroneamente) che anche la tua installazione non usasse salt
__________________
Recensioni e sconti hosting
jocker non in linea   Rispondi citando
Rispondi
Tags: , , ,



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 11:33.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.