网上大多数的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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)