哪位帮我解释下DES加密中这条语句的含义: datalen=(datalen+7)&0xfffffff8 (datalen是欲加密字符的长度)多谢了,在线等。

解决方案 »

  1.   

    datalen+7和0xfffffff8按位与
    就是datalen+7低三位清零
      

  2.   

    确是按位与,但datalen+7的长度是多少呢?与0xfffffff8相同吗?如果不同是不是还有另外一个作用?
      

  3.   

    可以这样理解,源长度小于8的部分,如果大于0,则按进1,否则清0;
    相当于 (datalen+7)/8*8;
      

  4.   

    你就这么一句语句,很难正确理解本身的含义,只能从这句语句本身理解,还是比较赞同1楼跟3楼和起来的意见。datalen的长度大于等于0xfffffff8时,就是datalen+7低三位清零。这只是我个人看法。至于对错,就看你个人理解了