X-Git-Url: http://www.lcore.org/git/lcore.git/blobdiff_plain/85ef2ce64f0cc31a063fccea69fdcc7281d51548..b60a32da0a15deb572474b1f66a6c63695ed7491:/fastmd5.pas?ds=sidebyside diff --git a/fastmd5.pas b/fastmd5.pas index f0481a9..27755b9 100644 --- a/fastmd5.pas +++ b/fastmd5.pas @@ -8,7 +8,7 @@ unit fastmd5; { pascal implementation of MD5 -written by Bas Steendijk - steendijk@xs4all.nl +written by Bas Steendijk based on RFC1321 - The MD5 Message-Digest Algorithm @@ -39,7 +39,7 @@ type {$i uint32.inc} type - dvar=array[0..0] of byte; + dvar=array[0..65535] of byte; Tmd5state=record buf:array[0..63] of byte; H:array[0..3] of uint32; @@ -55,13 +55,13 @@ procedure md5finish(var state:tmd5state;var result); procedure getmd5(const data;len:longint;var result); -function md5tostr(const md5:tmd5):string; +function md5tostr(const md5:tmd5):ansistring; implementation -function inttohex(val,bits:integer):string; +function inttohex(val,bits:integer):ansistring; const - hexchar:array[0..15] of char='0123456789abcdef'; + hexchar:array[0..15] of ansichar='0123456789abcdef'; begin inttohex := hexchar[val shr 4]+hexchar[val and $f]; end; @@ -211,7 +211,7 @@ begin b := state.msglen and 63; inc(state.msglen,len); - while (state.msglen > $20000000) do begin + while (state.msglen >= $20000000) do begin dec(state.msglen,$20000000); inc(state.msglenhi); end; @@ -284,10 +284,10 @@ begin md5finish(t,result); end; -function md5tostr(const md5:tmd5):string; +function md5tostr(const md5:tmd5):ansistring; var a:integer; - s:string; + s:ansistring; begin s := ''; for a := 0 to 15 do s := s + inttohex(md5[a],2);