MD5 (FB)

FUNCTION_BLOCK MD5

Function calculates the MD5 checksum of given "MemoryBlock" with "udiNumberOfBytes" bytes. The used algorithm of MD5 Message-Digest is descibed in RFC1321.

Prefix: "memmd5".

Example:

sTest : string := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
->
abyDigest[0] = 16#D1
abyDigest[1] = 16#74
abyDigest[2] = 16#AB
abyDigest[3] = 16#98
abyDigest[4] = 16#D2
abyDigest[5] = 16#77
abyDigest[6] = 16#D9
abyDigest[7] = 16#F5
abyDigest[8] = 16#A5
abyDigest[9] = 16#61
abyDigest[10] = 16#1C
abyDigest[11] = 16#2C
abyDigest[12] = 16#9F
abyDigest[13] = 16#41
abyDigest[14] = 16#9D
abyDigest[15] = 16#9F
InOut:

Scope

Name

Type

Comment

Input

xExecute

BOOL

rising edge starts calculation of "abyDigest"

pMemoryBlock

POINTER TO BYTE

address of memory block

udiNumberOfBytes

UDINT

number of bytes of memory block

Output

xDone

BOOL

calculation of abyDigest done

xBusy

BOOL

calculation busy

abyDigest

ARRAY [0..15] OF BYTE

MD5 digest