SHA-256.h源码
时间: 2023-10-30 22:06:16 浏览: 54
SHA-256.h 是一个SHA256哈希算法的头文件,可以用于计算数据的哈希值。以下是一个SHA-256.h的示例代码:
```c
#ifndef SHA256_H
#define SHA256_H
#include <stdint.h>
#define SHA256_BLOCK_SIZE 32 // SHA256 outputs a 32 byte digest
typedef struct {
uint8_t data[64];
uint32_t datalen;
uint64_t bitlen;
uint32_t state[8];
} SHA256_CTX;
void sha256_init(SHA256_CTX *ctx);
void sha256_update(SHA256_CTX *ctx, const uint8_t data[], size_t len);
void sha256_final(SHA256_CTX *ctx, uint8_t hash[]);
#endif /* SHA256_H */
```
这个头文件定义了一个SHA256_CTX结构体和三个函数,分别是sha256_init、sha256_update和sha256_final。
sha256_init用于初始化SHA256_CTX结构体。sha256_update用于向SHA256_CTX结构体中添加数据,可以多次调用以添加更多数据。sha256_final用于计算最终的哈希值并将其存储在hash参数中。
需要注意的是,这个头文件只定义了SHA256算法的数据结构和函数,需要结合具体的实现代码才能实现SHA256哈希算法。