Condividi tramite

Calcolo codice Hash MD5 in Excel Visual Basic

Anonimo
2014-11-20T14:16:49+00:00

Ho questo codice in C Sharp..volevo sapere se esisteva un equivalente in Visual Basic per Macro in Excel. Calcola codice hash M5 e lo converte in base 64. Ho trovato degli esempi ma non mi calcolano il codice desiderato. Grazie 

.NET framework 4

using System.Security.Cryptography;

public static string GetFileHash(string pFileName)

{

string retValue = string.Empty;

using (FileStream fs = File.OpenRead(pFileName))

{

MD5 sscMD5 = MD5.Create();

byte[] mHash = sscMD5.ComputeHash(fs);

retValue = Convert.ToBase64String(mHash);

}

return retValue;

}

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

13 risposte

Ordina per: Più utili
  1. Anonimo
    2015-02-08T13:46:56+00:00

    Ottengo sempre 0 anche se scrivo MD5_string() invece di MD5() però non capisco il resto del codice che hai scritto. Io ho un metodo chimato Licenza() che fornisce una stringa X:

    ...

    Licenza = X

    End Funcion

    se scrivo:

    ...

    Licenza = MD5_string(X)

    End Funcion

    ottengo 0.

    A te invece funziona? Anche te usi Excel 2013?

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-02-08T13:29:24+00:00

    Ciao downloadprogrammi2,

    Forse, prova invece qualcosa del genere:

    '=========>>

    Sub TestIt()

        Dim Stringa As String

        Const sStr As String = "abc"

        Stringa = MD5_string("abc")

        MsgBox Stringa

    End Sub

    '<<=========

    Avrei dovuto aggiungere che si puo` utilizzare la funzione come una funzione utente (UDF) sul foglio. Ad esempio:

    A1:    abc

    B1:    =MD5_string(A1)      ===>>  900150983CD24FB0D6963F7D28E17F72

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-02-08T13:17:36+00:00

    Ciao downloadprogrammi2,

    Ho anche provato questo codice:

    http://www.di-mgt.com.au/src/basMD5.bas.html

    ma:

    stringa = MD5("abc")

    mi da sempre 0...

    Ho guardato il tuo link ma non vedo la funzione MD5.

    Forse, prova invece qualcosa del genere:

    '=========>>

    Sub TestIt()

        Dim Stringa As String

        Const sStr As String = "abc"

        Stringa = MD5_string("abc")

        MsgBox Stringa

    End Sub

    '<<=========

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-02-07T19:04:08+00:00

    Ho anche provato questo codice:

    http://www.di-mgt.com.au/src/basMD5.bas.html

    ma:

    stringa = MD5("abc")

    mi da sempre 0...

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2015-02-06T20:53:50+00:00

    Anche io devo convertire una stringa in MD5 e ho provato il codice ma non ottengo segnalazioni particolari da Excel eppure invece dell'MD5 nella cella leggo #VALORE!

    Questo è il mio codice:

    Public Function FUNZIONEMD5() As Variant

    ...

    x = EncodeBase64(FileToMD5Hex(stringadaconvertire))

    FUNZIONEMD5 = x

    End Function

    La risposta è stata utile?

    0 commenti Nessun commento