Avatar billede sarid Nybegynder
16. februar 2004 - 17:16 Der er 5 kommentarer og
1 løsning

krypografiske signatur af en fil

Hej,

Jeg er meget interesseret i at vide, hvordan man laver en MD5 hash af en fil. Jeg vil gerne kunne beregne krypografiske signature af filer.

På forhånd tak.
Avatar billede arne_v Ekspert
16. februar 2004 - 17:28 #1
MD5 er med i .NET API.

Eksempel fra docs:

Function MD5hash(data() As Byte) As Byte()
    ' This is one implementation of the abstract class MD5.
    Dim md5 As New MD5CryptoServiceProvider()
     
    Dim result As Byte() = md5.ComputeHash(data)
     
    Return result
End Function
Avatar billede arne_v Ekspert
16. februar 2004 - 17:29 #2
Du skal så bare læse filen ind selv og kaldesom i eksemplet.

Du skal importere System.Security.Cryptography namespace.
Avatar billede sarid Nybegynder
16. februar 2004 - 17:31 #3
Direkte fra MSDN ;-) Skal jeg forstå, at jeg bliver nødt til at lave en MD5 af hele filens indhold?
Avatar billede arne_v Ekspert
16. februar 2004 - 17:33 #4
Ikke nødvendigvis.

Du kan også hashe fil navn + størrelse af filen + dato på fil + ejer af fil.

Eller de første 1000 bytes af filen.

Det bestemmer du jo selv.

Men normalt hasher man hele filen.
Avatar billede sarid Nybegynder
16. februar 2004 - 17:35 #5
Jeg troede at der var en smart måde at gøre det på i stedet for at skulle indlæse filens indhold.

Public Function Calculate_Md5Hash(ByVal Str_Value As String) As String
  ' Calculate an MD5 hash of the Str_Value
  Dim Obj_Md5 As New MD5CryptoServiceProvider()
  Dim Obj_Encoder As New UnicodeEncoding()
  Dim Obj_StringBuilder As System.Text.StringBuilder = New System.Text.StringBuilder()
  Dim Byte_Data() As Byte
  Byte_Data = Obj_Encoder.ASCII.GetBytes(Str_Value)
  Dim Byte_Result As Byte() = Obj_Md5.ComputeHash(Byte_Data)
  Dim Int_Index As Int32
  For Int_Index = 0 To Byte_Result.Length() - 1
    Obj_StringBuilder.Append(Byte_Result(Int_Index).ToString("X2"))
  Next
  Return Obj_StringBuilder.ToString().ToLower()
End Function

Str_Md5Signature = Calculate_Md5Hash(Str_FilensIndhold)
Avatar billede sarid Nybegynder
16. februar 2004 - 17:36 #6
Det er dejligt at du er så hurtig Arne. Igen, mange tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester