nl_tokens: / * Convert a string to a sequence of 16 - word blocks stored as an array . Append padding bits and the length as described in the MD5 standard .
pl_tokens: function str2blks_MD5 ( str ) { nblk = ( ( str . length + 8 ) >> 6 ) + 1 ; blks = new <mask> ( nblk * 16 ) ; for ( i = 0 ; i < nblk * 16 ; i ++ ) blks [ i ] = 0 ; for ( i = 0 ; i < str . length ; i ++ ) blks [ i >> 2 ] |= str . charCodeAt ( i ) << ( ( i % 4 ) * 8 ) ; blks [ i >> 2 ] |= 0x80 << ( ( i % 4 ) * 8 ) ; blks [ nblk * 16 - 2 ] = str . length * 8 ; return blks ; }