PRINT FN_MD5("") PRINT FN_MD5("a") PRINT FN_MD5("abc") PRINT FN_MD5("message digest") PRINT FN_MD5("abcdefghijklmnopqrstuvwxyz") PRINT FN_MD5("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") PRINT FN_MD5(STRING$(8,"1234567890")) END DEF FN_MD5(message$) LOCAL I%, MD5$, MD5_CTX{} DIM MD5_CTX{i%(1), buf%(3), in&(63), digest&(15)} SYS "MD5Init", MD5_CTX{} SYS "MD5Update", MD5_CTX{}, message$, LEN(message$) SYS "MD5Final", MD5_CTX{} FOR I% = 0 TO 15 MD5$ += RIGHT$("0"+STR$~(MD5_CTX.digest&(I%)),2) NEXT = MD5$