[CRY.OBJ] CRY-Hash

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

[CRY.OBJ] CRY-Hash

Beitrag von Mijikai »

Nach meiner kleinen Einführung zu ObjektCode (http://www.purebasic.fr/german/viewtopi ... =9&t=30310)
gibt es nun ein kleines, nützliches Beispiel.

CRY.OBJ (CRY = abgeleitet von Crypt) erlaubt das einfache Hashen von Speicherbereichen.

Einbindung:

Code: Alles auswählen


;By Mijikai
;PB 5.60 x64
;Tested on Win10 x64

Import "Advapi32.lib";Linkt die benötigte library!
EndImport

Import "CRY.OBJ";x64!
  CRY_MD2(Buffer.i,BufferSize.i);Alle Hashfunktionen geben einen StringPointer zurück!
  CRY_MD4(Buffer.i,BufferSize.i)
  CRY_MD5(Buffer.i,BufferSize.i)
  CRY_SHA1(Buffer.i,BufferSize.i)
  CRY_SHA256(Buffer.i,BufferSize.i)
  CRY_SHA384(Buffer.i,BufferSize.i)
  CRY_SHA512(Buffer.i,BufferSize.i)
  CRY_Version();v.1.00
EndImport

Procedure.s HashAsciiStringMD5(Input.s)
  Protected *HexStr.String
  Protected AsciiBuffer.i = Ascii(Input)
  If AsciiBuffer
    *HexStr = CRY_MD5(AsciiBuffer,MemorySize(AsciiBuffer) - 1)
    FreeMemory(AsciiBuffer)
    ProcedureReturn *HexStr\s
  EndIf
EndProcedure

Debug HashAsciiStringMD5("Hallo")
Download CRY.OBJ:
https://drive.google.com/file/d/0B3QupQ ... sp=sharing
(CRY.OBJ hat nur 2.3 KB und ist in FASM geschrieben)