Files
VX5-DiaphragmPump/rfid/sm3.h
T
2026-10-19 17:48:03 +08:00

38 lines
943 B
C++

#ifndef SM3_H
#define SM3_H
#include <stdio.h>
#include <stdint.h>
typedef struct
{
uint32_t total[2];
uint32_t state[8];
unsigned char buffer[64];
unsigned char ipad[64];
unsigned char opad[64];
}sm3_context;
class SM3
{
public:
static void sm3_starts(sm3_context* ctx);
static void sm3_update(sm3_context* ctx, unsigned char* input, int ilen);
static void sm3_finish(sm3_context* ctx, unsigned char output[32]);
static void sm3Hash(unsigned char* input, int ilen,
unsigned char output[32]);
static void sm3_hmac_starts(sm3_context* ctx, unsigned char* key, int keylen);
static void sm3_hmac_update(sm3_context* ctx, unsigned char* input, int ilen);
static void sm3_hmac_finish(sm3_context* ctx, unsigned char output[32]);
static void sm3_hmac(unsigned char* key, int keylen,
unsigned char* input, int ilen,
unsigned char output[32]);
};
#endif /* sm3.h */