docs: function fillString(str){
          var blockAmount = ((str.length + 8) >> 6) + 1,
              blocks = [],
              i;
  
          for(i = 0; i < blockAmount * 16; i++){
              blocks[i] = 0;
          }
          for(i = 0; i < str.length; i++){
              blocks[i >> 2] |= str.charCodeAt(i) << (24 - (i & 3) * 8);
          }
          blocks[i >> 2] |= 0x80 << (24 - (i & 3) * 8);
          blocks[blockAmount * 16 - 1] = str.length * 8;
  
          return blocks;
      }