docs: function coreFunction(blockArray){
          var w = [],
              a = 0x67452301,
              b = 0xEFCDAB89,
              c = 0x98BADCFE,
              d = 0x10325476,
              e = 0xC3D2E1F0,
              olda,
              oldb,
              oldc,
              oldd,
              olde,
              t,
              i,
              j;
  
          for(i = 0; i < blockArray.length; i += 16){  //每次处理512位 16*32
              olda = a;
              oldb = b;
              oldc = c;
              oldd = d;
              olde = e;
  
              for(j = 0; j < 80; j++){  //对每个512位进行80步操作
                  if(j < 16){
                      w[j] = blockArray[i + j];
                  }else{
                      w[j] = cyclicShift(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
                  }
                  t = modPlus(modPlus(cyclicShift(a, 5), ft(j, b, c, d)), modPlus(modPlus(e, w[j]), kt(j)));
                  e = d;
                  d = c;
                  c = cyclicShift(b, 30);
                  b = a;
                  a = t;
              }
  
              a = modPlus(a, olda);
              b = modPlus(b, oldb);
              c = modPlus(c, oldc);
              d = modPlus(d, oldd);
              e = modPlus(e, olde);
          }
  
          return [a, b, c, d, e];
      }