网上大多数的SHA1的算法的代码 如果输入长度超过56是不对的 原因就是
一次处理的是56+8 64个字节的数据 超过56的话需要分成2个块
具体细节没细看 下面的是超过56 可用的SHA1代码
头文件:
#ifndef SHA_1_H_INCLUDED_ #define SHA_1_H_INCLUDED_ // This is a relatively straightforward implementation of SHA-1. It makes no particular // attempt at optimization, instead aiming toward easy verification against the standard. // To that end, many of the variable names are identical to those used in FIPS 180-2 and // FIPS 180-3. // // The code should be fairly portable, within a few limitations: // 1. It requires that 'char' have 8 bits. In theory this is avoidable, but I don't think // it's worth the bother. // 2. It only deals with inputs in (8-bit) bytes. In theory, SHA-1 can deal with a number of // bits that's not a multiple of 8, but I've never needed it. Since the padding always results // in a byte-sized stream, the only parts that would need changing would be reading an



