20 lines
639 B
Plaintext
20 lines
639 B
Plaintext
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$
|