和md5的区别
- 初始化常量有5个 最后是40个十六进制文本。
- 明文处理和md5相同,最后的消息长度是大端
- 分组也是512 明文分段,有80段 ,其中后64段是扩展出来的。
- 最后也是大端 ,数据没有倒过来
代码详解
typedef struct SHA1Context {
uint32_t Intermediate_Hash[SHA1HashSize / 4]; /* Message Digest */ 初始化常量
uint32_t Length_Low; /* Message length in bits */
uint32_t Length_High; /* Message length in bits */ 八个字节的长度 低位 高位
/* Index into message block array */
int_least16_t Message_Block_Index;
uint8_t Message_Block[64]; /* 512-bit message blocks */ 消息
int Computed; /* Is the digest computed? */
int Corrupted; /* Is the message digest corrupted? */
} SHA1Context;
他的初始化常量
初始化常量
con