这是MD5算法的最开始一段,大致是说个什么意思
function MD5(sMessage) {   //MD5加密算法javascript实现
  function RotateLeft(lValue, iShiftBits)
 { return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits)); }
  function AddUnsigned(lX,lY) {
  var lX4,lY4,lX8,lY8,lResult;
  lX8 = (lX & 0x80000000);
  lY8 = (lY & 0x80000000);
  lX4 = (lX & 0x40000000);
  lY4 = (lY & 0x40000000);
  lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
  if (lX4 & lY4) return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
  if (lX4 | lY4) {
  if (lResult & 0x40000000) return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
  else return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
  } else return (lResult ^ lX8 ^ lY8);
  }

解决方案 »

  1.   

    位运算~~~
    看这样的代码很简单<< 是什么运算符?  怎么操作?
    >>是什么运算符?   怎么操作?
    | 是什么运算符?   怎么操作?
    上面的不明白可以去查阅下语法书
    然后你一个个看明白了 那么 A << B   |  A >> ( 32-B ) 也就明白了
      

  2.   

    膜拜一下,原来地球上还有这么简短的md5函数。楼主应该了解一下什么是:位运算,位移(<<,>>>)、与(&)、或(|)、异或(^)。