Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C#/VB.NET 2.0] MD5 Hash

    Tempo fà avevo usato per salvarmi delle password su db l'algoritmo di Hashing MD5, che avevo
    scaricato ed usato con Classic ASP, tutto ok, nel db avevo il corrispondente hash delle password.
    Ora che son passato ad usare il .NET ho provato a fare l'hash usando la la Classe MD5
    del framework 2.0 ed ho notato che il risultato di hashing per una medesima stringa è differente
    da quello vecchio.
    MI chiedo, come mai?
    Ho sbagliato qualche cosa? Sono effettivamente diversi i due algoritmi?


    PS moderatore, anche se ho citato asp la discussione è relativa alla classe MD5 del framework
    quindi ho pensato di mettere qui il post.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Re: [C#/VB.NET 2.0] MD5 Hash

    Originariamente inviato da Max Mercury
    Ho sbagliato qualche cosa? Sono effettivamente diversi i due algoritmi?
    Non vorrei che il problema fosse nella visualizzazione del valore.

    Devi postare del codice per approfondire.

    Originariamente inviato da Max Mercury
    PS moderatore, anche se ho citato asp la discussione è relativa alla classe MD5 del framework
    quindi ho pensato di mettere qui il post.
    Non è un problema, fino a quando non si parla nello specifico di cose che riguardano prettamente l'applicazione Web.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Dunque per fare delle prove ho scritto questo codice in .NET

    Codice PHP:
    MD5 md5Hash = new MD5CryptoServiceProvider();

                
    byte[] passwordByteASCII Encoding.ASCII.GetBytes("1");
                
    byte[] passwordByteUnicode Encoding.Unicode.GetBytes("1");
                
    byte[] passwordByteUTF32 Encoding.UTF32.GetBytes("1");
                
    byte[] passwordByteUTF7 Encoding.UTF7.GetBytes("1");
                
    byte[] passwordByteUTF8 Encoding.UTF8.GetBytes("1");

                
    Console.WriteLine("Hash stringa ASCII " Convert.ToBase64String(md5Hash.ComputeHash(passwordByteASCII)));
                
    Console.WriteLine("Hash stringa UTF7 " Convert.ToBase64String(md5Hash.ComputeHash(passwordByteUTF7)));
                
    Console.WriteLine("Hash stringa UTF8 " Convert.ToBase64String(md5Hash.ComputeHash(passwordByteUTF8)));
                
    Console.WriteLine("Hash stringa Unicode " Convert.ToBase64String(md5Hash.ComputeHash(passwordByteUnicode)));
                
    Console.WriteLine("Hash stringa UTF32 " Convert.ToBase64String(md5Hash.ComputeHash(passwordByteUTF32))); 
    che da come risultato :

    Hashing in MD5 della stringa '1'

    Hash stringa ASCII xMpCOKC5I4INzFCab3WEmw==
    Hash stringa UTF7 xMpCOKC5I4INzFCab3WEmw==
    Hash stringa UTF8 xMpCOKC5I4INzFCab3WEmw==
    Hash stringa Unicode BtSWMsncm8tirq75lhK6aw==
    Hash stringa UTF32 1dEUT+c5VKp01UJn4NEOeg==
    la stessa stringa con l'MD5 che mi ero scaricato ha il valore
    c4ca4238a0b923820dcc509a6f75849b

  4. #4
    Utente di HTML.it L'avatar di EngLab
    Registrato dal
    Jan 2006
    Messaggi
    496
    Ciao!

    Non conosco molto bene l'ambiente .NET, ma non potresti provare ad utilizzare un'altra classe di crittazione anzichè la MD5CryptoServiceProvider?
    Ne usai una in VB6 un annetto fà che trovai dopo un breve ricerca. Ma può darsi che questa non sia la soluzione che cerchi...

  5. #5
    Capisco ma il fatto è che le vecchie password sono hashing MD5, .NET ne fornisce parecchi
    di algoritmi per fare l'hash tra l'altro MD5 (128 bits) dice che è già superato e sostituito da RIPEMD160 (160 bits)
    fino ad arrivare a SHA512 (512 bits!!)

    vorrei ottenere lo stesso risultato del vecchio MD5 di modo da mantenere il db come è ora
    perchè non posso certo resettare la password a tutti gli utenti!

    e cmq almeno chiarirmi il perchè lo stesso algoritmo, o quanto meno un algoritmo con lo stesso
    nome, dia un risultato differente...
    Se poi quelli della microsoft han deciso di cambiare algoritmo amen.

  6. #6
    nessuno ne sa nulla?
    dò il via al fido google?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1

    Stesso Problema

    Saluti a tutti,

    anche io ho lo stesso problema il codice funzionante con .NET 1.0 di un applicativo che calcolava e verificava una firma con MD5 se eseguito con il 2.0 non verifica l'hash.
    Sapete indicarmi se qualcuno ha trovato la soluzione o il motivo del malfunzionamento?

    grazie

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.