1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #ifndef __PUBLIC_H
- #define __PUBLIC_H
- #include "esp_err.h"
- #include "sdkconfig.h"
- #include <stddef.h>
- #include "esp_log.h"
- #define IOT_TRUE (1) /* indicate boolean value true */
- #define IOT_FALSE (0) /* indicate boolean value false */
- #include <stdint.h>
- #define SHA1_DIGEST_SIZE (20)
- /**
- * \brief SHA-1 context structure
- */
- typedef struct {
- uint32_t total[2]; /*!< number of bytes processed */
- uint32_t state[5]; /*!< intermediate digest state */
- unsigned char buffer[64]; /*!< data block being processed */
- } iot_sha1_context;
- /**
- * \brief Initialize SHA-1 context
- *
- * \param ctx SHA-1 context to be initialized
- */
- void utils_sha1_init(iot_sha1_context *ctx);
- /**
- * \brief Clear SHA-1 context
- *
- * \param ctx SHA-1 context to be cleared
- */
- void utils_sha1_free(iot_sha1_context *ctx);
- /**
- * \brief Clone (the state of) a SHA-1 context
- *
- * \param dst The destination context
- * \param src The context to be cloned
- */
- void utils_sha1_clone(iot_sha1_context *dst,
- const iot_sha1_context *src);
- /**
- * \brief SHA-1 context setup
- *
- * \param ctx context to be initialized
- */
- void utils_sha1_starts(iot_sha1_context *ctx);
- /**
- * \brief SHA-1 process buffer
- *
- * \param ctx SHA-1 context
- * \param input buffer holding the data
- * \param ilen length of the input data
- */
- void utils_sha1_update(iot_sha1_context *ctx, const unsigned char *input, uint32_t ilen);
- /**
- * \brief SHA-1 final digest
- *
- * \param ctx SHA-1 context
- * \param output SHA-1 checksum result
- */
- void utils_sha1_finish(iot_sha1_context *ctx, unsigned char output[20]);
- /* Internal use */
- void utils_sha1_process(iot_sha1_context *ctx, const unsigned char data[64]);
- /**
- * \brief Output = SHA-1( input buffer )
- *
- * \param input buffer holding the data
- * \param ilen length of the input data
- * \param output SHA-1 checksum result
- */
- void utils_sha1(const unsigned char *input, uint32_t ilen, unsigned char output[20]);
- void utils_hmac_sha1(const char *msg, int msg_len, char *digest, const char *key, int key_len);
- void utils_hmac_sha1_hex(const char *msg, int msg_len, char *digest, const char *key, int key_len);
- #endif
|