Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577

    Confrontare una password MD5

    Buonasera a tutti,

    ho ancora un problema e cerco qualcuno che gentilmente mi dia una mano.

    Ho un database Mysql in cui ho delle password criptate dalla funzione md5 tramite una pagina PHP.

    Ora da un programma scritto in vb.net 2003 devo quanto meno confrontare tali password con le stringhe (password) in chiaro digitate dall'utente.

    Come posso fare? Chi mi da una mano?

    Grazie

    Lucia

  2. #2
    spero di non scoprire l'acqua calda, ma puoi "utilizzare" queste stringhe con una pagina di php ? se si puoi trasformare le stringhe in chiaro con md5 e poi confrontarle con quelle memorizzate nel database !
    Voglio dire che la parola "mela" trasformata in md5 darà sempre gli stessi 32 caratteri!
    Se ti serve una mano per prelevare i dati da quel programma allora mi spiace ma non posso darti una mano

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    Ciao.
    Cosa vuoi dire con "puoi utilizzare queste stringhe con una pagina di php ?"

    In pratica io devo costruire un'applicazione in vb.net che sistematicamente legge una tabella utenti (ad ogni richiesta) che si trova in un database Mysql che dall'altra parte viene alimentato da un'altra applicazione Web-based scritta invece in PHP.

    Spero sia stata chiara.

    Grazie

    Lucia

  4. #4
    Se il confronto lo devi fare in vb.net e ti serve sapere il codice esatto allora hai postato nella sezione sbagliata del forum. Se il confronto devi farlo usando php allora puoi seguire tranquillamente il suggerimento di fallen
    <!-- Debian GNU/Linux 4.0 Kernel 2.6.x -->
    ftp://ftp.it.debian.org/
    http://www.php.net/

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    Grazie Linux 2004.

    Comunque, che io abbia postato nella sezione corretta o sbagliata questo è da vedere, visto che le password criptate stanno scritte in un DB Mysql e questa mi sembra che sia la sezione giusta per Mysql.
    Infatti il mio problema fondamentalmente è "DECRIPTARE" le password scritte in MySQL con MD5. Lo voglia poi fare con Vb.Net o con altro linguaggio che non sia PHP questo è un problema mio.

    Invece di preoccuparti in quale sezione io sia andata a scrivere, avresti potuto leggere meglio il mio post precedente e la domanda inutile "Se il confronto devi farlo usando php allora puoi seguire tranquillamente il suggerimento di fallen" non l'avresti fatta.

    Perdonami.

    Lucia

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    - Le password in hash-md5 non le decripti, quello che fai e leggere l'hash md5, produrre l'hash md5 (nella tua applicazione VB.Net) e confrontare i due hash.

    - Il commento di Linux2004 non era così fuori luogo: se hai il database e puoi connetterti direttamente dalla tua applicazione VB.Net non serve a niente passare da PHP. Se l'applicazione invece deve per forza passare attraverso le pagine PHP, ti serve solo sapere come PHP fornisce i dati in output (e come li prenda in input), -cosa che non hai riportato- e costruire un eventuale form in VB.Net per interagire con l'action di un ipotetico form in PHP.

    - Mantieni il tono della discussione un pelino più basso, qui niente ti è dovuto.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    Ok il tono lo manterrò più basso la prossima volta.

    Io non devo decriptare le password.

    Lo scenario è questo:

    1) In un form vb.net vi è un semplice textbox (denominato password) in cui l'utente andrà a scrivere ad esempio "pippo".

    2) in Mysql il valore di "pippo" (estraendolo con una select) viene visualizzato ad esempio cosi: "7564acf14187452aac75284dc3f7e2ac".

    La mia domanda è questa: Come faccio a far capire a vb.net che "7564acf14187452aac75284dc3f7e2ac non è altro che la corrispondenza di "pippo" criptato ?

    Grazie ancora a tutti.

    Lucia

  8. #8
    A parte che hai esposto il quesito nel posto sbagliato, devi fare il codice in VB.NET e non in php. Chi ti risponde qui al 95% non sa che esiste un apposito namespace in VB.NET per la crittografia e l'hashing (un po come le funzioni mcrypt e mhash solo quelle del .net sono più complete).

    Dato che leggi direttamente la tabella utenti puoi usare quelli

    Ma, anche se volerlo fare, non tanto per un problema di dipendenze perché tanto è installata di default, ma per una questione di semplicità, mysql stesso ha una funzione per l'hash sia MD5 sia, nelle versioni più recenti, per lo SHA1

    Se fai da vb.net
    codice:
    SELECT
    *
    
    FROM
    tabella
    
    WHERE
    password = MD5('pippo');
    
    LIMIT
    1
    Ovvero se estrai tutti i campi presenti nella tabella per le righe che hanno la password uguale all'hash di pippo ... fermandoti però alla prima, ti risolvi il problema alla base

    Per sapere quanti utenti sono presenti ti basta fare un ciclo ... infatti il ciclo verrà eseguito una sola volta in base al LIMIT 1

    Ovviamente, in questa situazione, se ci sono più utenti che hanno la password pippo ti verrà estratto sempre il primo, quindi:
    - se a te servono tutti quelli che hanno una specifica password, togli il LIMIT 1
    - se a te serve un utente specifico accoppiagli il nome utente nel WHERE lasciando li il LIMIT 1 per ridurre il carico del database
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    ... scusatemi ancora per la polemica, ma visto che le ferie son vicine, tutti siamo più stanchi quindi ahimè tutti più irritabili, anch'io non riesco a trattenermi...

    Chiedo umilmente scusa per aver postato nel posto sbagliato a tutti.

    Ma scusa lo voglio chiedere soprattutto all'autorevole daniele_dll che con una semplice risposta comunque ti risolve il problema. Sempre. Figura preziosissima per questo forum.

    Lo voglio chiedere un pò meno a quel "95% che non sa che esiste un apposito namespace in VB.NET" (compresa me), che agisce come il dipendente di molti uffici pubblici, a cui uno si rivolge per chiedere delucidazioni dettagliate e ufficiali magari su un articolo di legge (di loro presunta competenza) e spesso costui risponde "non deve rivolgersi a quest'ufficio", "deve provare all'ufficio più avanti", "deve chiedere del sig...." ecc.

    Buon lavoro a tutti.
    Lucia

  10. #10
    Ciao Lucia,

    Il mio tono non voleva essere, assolutamente, offensivo

    Dato ceh non avevo capito bene in che linguaggio dovevi fare l'applicazione, se in VB o PHP ti avevo scritto:
    Se il confronto lo devi fare in vb.net e ti serve sapere il codice esatto allora hai postato nella sezione sbagliata del forum. Se il confronto devi farlo usando php allora puoi seguire tranquillamente il suggerimento di fallen
    Effettivamente, dato che ti serviva il codice VB.net daniele_dll ti ha risposto:
    Chi ti risponde qui al 95% non sa che esiste un apposito namespace in VB.NET per la crittografia e l'hashing (un po come le funzioni mcrypt e mhash solo quelle del .net sono più complete).
    ... scusatemi ancora per la polemica, ma visto che le ferie son vicine, tutti siamo più stanchi quindi ahimè tutti più irritabili, anch'io non riesco a trattenermi...

    Chiedo umilmente scusa per aver postato nel posto sbagliato a tutti.

    Ma scusa lo voglio chiedere soprattutto all'autorevole daniele_dll che con una semplice risposta comunque ti risolve il problema. Sempre. Figura preziosissima per questo forum.

    Lo voglio chiedere un pò meno a quel "95% che non sa che esiste un apposito namespace in VB.NET" (compresa me), che agisce come il dipendente di molti uffici pubblici, a cui uno si rivolge per chiedere delucidazioni dettagliate e ufficiali magari su un articolo di legge (di loro presunta competenza) e spesso costui risponde "non deve rivolgersi a quest'ufficio", "deve provare all'ufficio più avanti", "deve chiedere del sig...." ecc.

    Buon lavoro a tutti.
    Lucia
    Non ti preoccupare, tranquilla. L'importante è che tu sia riuscita a risolvere il problema

    <!-- Debian GNU/Linux 4.0 Kernel 2.6.x -->
    ftp://ftp.it.debian.org/
    http://www.php.net/

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.