none
Decriptare MD5 RRS feed

  • Domanda

  • Salve,

    ogni tanto di capita di dover nascondere delle informazioni usando il seguente codice:

    using System.Security.Cryptography;
    
    public static string Firma(string Testo)
        {
            Byte[] Original;
            Byte[] Encoded;
            MD5 md5;
            md5 = new MD5CryptoServiceProvider();
            Original = ASCIIEncoding.Default.GetBytes(Testo);
            Encoded = md5.ComputeHash(Original);
            string Firma = BitConverter.ToString(Encoded);
            Firma = Firma.Replace("-", "");
            return Firma;
        }
    


    Volevo sapere se poi è possibile risalire al testo originale.

    Grazie.

    martedì 13 settembre 2011 15:31

Risposte

  • L'algoritmo di hashing MD5 non è "invertibile" attraverso un algoritmo specifico. Tuttavia esistono molti siti Web che forniscono immensi database di coppie hash - raw data, e possono essere utilizzati come comparazione.
    • Proposto come risposta Irina Turcu venerdì 16 settembre 2011 12:32
    • Contrassegnato come risposta Irina Turcu martedì 20 settembre 2011 11:05
    martedì 13 settembre 2011 16:17
  • Salve,

    ogni tanto di capita di dover nascondere delle informazioni usando il seguente codice:

     

    using System.Security.Cryptography;
    
    public static string Firma(string Testo)
        {
            Byte[] Original;
            Byte[] Encoded;
            MD5 md5;
            md5 = new MD5CryptoServiceProvider();
            Original = ASCIIEncoding.Default.GetBytes(Testo);
            Encoded = md5.ComputeHash(Original);
            string Firma = BitConverter.ToString(Encoded);
            Firma = Firma.Replace("-", "");
            return Firma;
        }
    

     


    Volevo sapere se poi è possibile risalire al testo originale.

    Grazie.

    No, non è possibile tornare indietro. Questo è un aspetto che lo rende perfetto per il salvataggio delle password, ad esempio. Invece di salvare la password, salvi il suo Hash(cosi si indica quello che ottieni). Quando poi devi verificare se la password inserita è corretta, prendi la password digitata dall'utente, ne calcoli l'hash con lo stesso algoritmo e confronti l'hash con quello salvato.
    • Proposto come risposta Irina Turcu venerdì 16 settembre 2011 12:22
    • Contrassegnato come risposta Irina Turcu martedì 20 settembre 2011 11:06
    martedì 13 settembre 2011 16:18

Tutte le risposte

  • L'algoritmo di hashing MD5 non è "invertibile" attraverso un algoritmo specifico. Tuttavia esistono molti siti Web che forniscono immensi database di coppie hash - raw data, e possono essere utilizzati come comparazione.
    • Proposto come risposta Irina Turcu venerdì 16 settembre 2011 12:32
    • Contrassegnato come risposta Irina Turcu martedì 20 settembre 2011 11:05
    martedì 13 settembre 2011 16:17
  • Salve,

    ogni tanto di capita di dover nascondere delle informazioni usando il seguente codice:

     

    using System.Security.Cryptography;
    
    public static string Firma(string Testo)
        {
            Byte[] Original;
            Byte[] Encoded;
            MD5 md5;
            md5 = new MD5CryptoServiceProvider();
            Original = ASCIIEncoding.Default.GetBytes(Testo);
            Encoded = md5.ComputeHash(Original);
            string Firma = BitConverter.ToString(Encoded);
            Firma = Firma.Replace("-", "");
            return Firma;
        }
    

     


    Volevo sapere se poi è possibile risalire al testo originale.

    Grazie.

    No, non è possibile tornare indietro. Questo è un aspetto che lo rende perfetto per il salvataggio delle password, ad esempio. Invece di salvare la password, salvi il suo Hash(cosi si indica quello che ottieni). Quando poi devi verificare se la password inserita è corretta, prendi la password digitata dall'utente, ne calcoli l'hash con lo stesso algoritmo e confronti l'hash con quello salvato.
    • Proposto come risposta Irina Turcu venerdì 16 settembre 2011 12:22
    • Contrassegnato come risposta Irina Turcu martedì 20 settembre 2011 11:06
    martedì 13 settembre 2011 16:18
  • Attenzione che MD5, come tutti gli algoritmi di hash, produce collisioni poichè è una funzione che ha elementi del dominio virtualmente infiniti ad elementi del codominio che sono finiti e comunque in numero più ristretto, quindi più "stringhe" possono produrre lo stesso hash.
    Matteo Migliore

    Bloghttp://blogs.ugidotnet.org/matteomigliore
    Twitterhttp://twitter.com/matteomigliore
    CodePlex
    mercoledì 14 settembre 2011 00:14
  • Beh, se l'algoritmo è irreversibile meglio così. Intanto per criptare qualche password mi sono arrangiato.

    Grazie per le risposte.

    giovedì 22 settembre 2011 20:15