code: function bytesToWords(bytes) {
  	var bytes_count = bytes.length,
  	    bits_count = bytes_count << 3,
  	    words = new Uint32Array((bytes_count + 64) >>> 6 << 4);
  	for (var i = 0, n = bytes.length; i < n; ++i)
  		words[i >>> 2] |= bytes.charCodeAt(i) << ((i & 3) << 3);
  	words[bytes_count >> 2] |= 0x80 << (bits_count & 31); // append "1" bit to message
  	words[words.length - 2] = bits_count;
  	return words;
  }
docs: converts bytes string to 32-bits words array padded with "1" and zeros and bits_length for MD5 message buffer