可怕,鸡的这些部位千万不能吃?多数人都不知道……

吴wuwu

关注

阅读 47

2023-10-07

1、简单实现

下面代码是Adler-32算法的简单实现,我们来整理一下这段代码的逻辑:

A = 1 + D1 + D2 + ... + Dn (mod 65521)

B = (1 + D1) + (1 + D1 + D2) + ... + (1 + D1 + D2 + ... + Dn) (mod 65521)
  = nxD1 + (n-1) x D2 + (n-2) x D3 + ... + Dn + n (mod 65521)

Adler-32(D) = (B x 65536) + A

看到这个公式相信大家已经有了思路,对于A的计算很简单简单的相加,对于B的相加需要一个系数

const uint32_t MOD_ADLER = 65521;

uint32_t adler32(unsigned char *data

精彩评论(0)

0 0 举报