在RFC1321
我注意到这段代码:
if ((context->count[0] += ((UINT4)inputLen << 3)) < ((UINT4)inputLen << 3))
context->count[1]++;
context->count[1] += ((UINT4)inputLen >> 29);
我不明白这种比较:
((UINT4)inputLen << 3)) < ((UINT4)inputLen << 3))
就像总是返回0,对吧?
最佳答案
没有这样的比较。看看括号是如何配对的:
它是
(X < ((UINT4)inputLen << 3))
其中
X
=(context->count[0] += ((UINT4)inputLen << 3))