添加:
CRC校验一般用于通信数据的验证。
MD5和SH1用于安全领域,如文件验证、数字签名等。
测试时使用。
#
#
#
# F(x, y, z) (((x) & (y)) | ((~x) & (z)))
# G(x, y, z) (((x) & (z)) | ((y) & (~z)))
# H(x, y, z) ((x) ^ (y) ^ (z))
# I(x, y, z) ((y) ^ ((x) | (~z)))
# RL(x, y) (((x) > (32 - (y)))) //x 将 y 位左移
# PP(x) (x8)&)| (x>>24) //交换x的高低位,例如PP()=
# FF(a, b, c, d, x, s, ac) a = b + (RL((a + F(b,c,d) + x + ac),s))
# GG(a, b, c, d, x, s, ac) a = b + (RL((a + G(b,c,d) + x + ac),s))
# HH(a, b, c, d, x, s, ac) a = b + (RL((a + H(b,c,d) + x + ac),s))
# II(a, b, c, d, x, s, ac) a = b + (RL((a + I(b,c,d) + x + ac),s))
A、B、C、D、a、b、c、d、i、len、flen[2]、x[16]; //i临时变量,len文件长度,flen[2]是64位二进制表示文件初始长度
字符文件