In molti siti quando prendiamo un file è a disposizione un altro file contenente l'hash che ne certifica l’integrità.
Su .NET è molto semplice produrre tale chiave, con l'esempio allegato si può provare a calcolare l'hash di un file e poi a modificarlo, si potrà constatare che se il file contiene anche un solo carattere diverso l'hash risulterà diverso.
* Creato da SharpDevelop.
* Utente: Luciano
* Data: 13/09/2007
* Ora: 17.38
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace CalcoloMD5
{
/// <summary>
/// Description of GeneraMD5.
/// </summary>
public class GeneraMD5
{
public GeneraMD5()
{
}
public static string CalcolaMD5Hash(string pFileName)
{
// definizione stringa valore di ritorno
string retValue = string.Empty;
// generiamo uno stream a partire da un file che rimane in ram
// fino a quando non abbiamo concluso il calcolo
// il token using consente di aprire e chiudere correttamente
// lo stream delimitando l'area di scope
// così il GC lavora bene
using(System.IO.FileStream fs = System.IO.File.OpenRead(pFileName))
{
// definizione del nostro tipo
System.Security.Cryptography.MD5 sscMD5 = System.Security.Cryptography.MD5.Create();
// recuperiamo i bytes dell'hash
byte[] mHash = sscMD5.ComputeHash(fs);
// conversione a 64 bit
retValue = Convert.ToBase64String(mHash);
}
return retValue;
}
}
}
Nessun commento:
Posta un commento