const BITS_TO_A_BYTE = 8; BYTES_TO_A_WORD = 4; BITS_TO_A_WORD = 32; cAA = $67452301; cBB = $EFCDAB89; cCC = $98BADCFE; cDD = $10325476; MODULUS_BITS = 512; CONGRUENT_BITS = 448; { sMD5 } class function sMD5.ConvToWord(const sMessage: WideString): arrlongword; var lMessageLength, lNumberOfWords, lBytePosition, lByteCount, lWordCount: longword; lWordArray: arrlongword; { Function } function Asc(const t: WideChar): Smallint; var s: string; a: Smallint; begin s := t; a := Smallint(s[1]); case Length(s) of 2: begin a := a shl 8; a := a + Smallint(s[2]); end else ; end; Result := a; end; |