茶园除草SHA1算法实现
源码文件:main.c, SHA1.h, SHA1.c加入工程编译即可
说明:该SHA1算法是8位单片机(51内核)Keil C51纯软件实现
目录
茉莉花怎么种
大国工匠1 SHA1算法说明 (3)
1.1.源码算法使用方法 (3)
2 数据类型定义 (3)
3 函数接口说明 (3)
3.1初始化SHA1模块 (4)
3.2分步对消息进行计算 (4)
3.3完成杂凑计算,取结果 (5)
3.4一次性输入,计算,取结果 (5)
源码SHA1算法例程(MAIN.C,SHA1.H,SHA1.C) (6)
1 SHA1算法说明
1.1.源码算法使用方法
算法使用方法如下:
1、将main.c和SHA1.c,SHA1.h加入工程编译即可;
2 数据类型定义
typedef unsigned char U8;
typedef singed char S8;
typedef unsigned int U16;
typedef signed int S16;
typedef unsigned long U32;
typedef signed long S32;
typedef struct
{ U32 count[2];
U32 hash[5];
U32 wbuf[16];
}SHA1_Ctx;
宝玉石鉴定3 函数接口说明
SHA1算法包含的函数列表如下:
表3-1 SHA1算法库函数表
3.1初始化SHA1模块
SHA1_Init 初始化SHA1模块
函数原型void SHA1_Init(SHA1_Ctx * ctx)
参数说明
ctx 输入,分步计算的SHA1_Ctx结构体指针
注意事项对一较长消息进行分步杂凑计算时都要首先调用本函数
电冰箱十大排名
例程例程见源码。
王楚钦身高
3.2分步对消息进行计算
SHA1_Process 分步对消息进行计算
函数原型void SHA1_Process(SHA1_Ctx * ctx, U8 * message, U32 len) 参数说明
ctx 输入,分步计算的SHA1_Ctx结构体指针
message 输入,当前处理消息的指针
len 输入,当前处理消息的字节长度
注意事项可以将很长的待杂凑消息分成几部分,依次循环调用此函数,每次调用时message取当前部分的起始地址
例程例程见源码。
3.3完成杂凑计算,取结果
完成杂凑计算,取结果
函数原型void SHA1_Done(SHA1_Ctx * ctx, U8 * digest)
紫薯功效参数说明
青年大学习网上主题团课ctx 输入,分步计算的SHA1_Ctx结构体指针
digest 输出,杂凑的结果
注意事项 1. 在调用SHA1_Process函数将待杂凑数据输入完毕后,调用本函数计算最终的杂凑结果
2.由于SHA1的结果是160比特,即20字节,因此digest指向的空间至少应是20字节
例程例程见源码。
3.4一次性输入,计算,取结果
一次性输入,计算,取结果
函数原型void SHA1_Hash(U8 * message, U32 len, U8 * digest)