59 messaggi dal 21 luglio 2006
Salve a tutti,
avrei la necessità di calcolare l'Hash di un file di testo al fine di determinare se è stato modificato oppure no. Ho provato a scrivere il seguente codice:
Private Sub CmdCalcolaCRC32_Click(sender As Object, e As EventArgs) Handles cmdCalcolaCRC32.Click
        Dim cInput As String
        Dim cBase64 As String
        Dim objSHA1 As New SHA1CryptoServiceProvider()
        Dim abBytesToHash() As Byte
        Dim cHash As String
        Dim readText() As String = File.ReadAllLines("C:\TafMis\EXE\Link_Catastali_Provincie.csv")
        cInput = readText.ToString
        cBase64 = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(cInput))
        abBytesToHash = System.Text.Encoding.ASCII.GetBytes(cBase64)
        abBytesToHash = objSHA1.ComputeHash(abBytesToHash)
        cHash = BitConverter.ToString(objSHA1.ComputeHash(abBytesToHash))
        cHash = Replace(cHash, "-", "")
        MsgBox("BASE64: " + cBase64 + vbCrLf + "SHA1: " + cHash)
    End Sub

Purtroppo il file è costituito da una serie di linee (records), pertanto l'Hash viene calcolato sulla prima linea e non sull'intero contenuto del file. Qualche suggerimento su come modificare il codice sopra o una soluzione alternativa?

Grazie
Modificato da gsprogetti il 04 gennaio 2021 16:51 -

Giorgio
1.509 messaggi dal 27 dicembre 2005
 Dim readText() As String = File.ReadAllLines("C:\TafMis\EXE\Link_Catastali_Provincie.csv")


Cambia questa linea di codice qui devi leggere i byte non le linee.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.