/* sha1.h */ #ifndef SHA1_H #define SHA1_H #include "ustd.h" #ifdef __cplusplus extern "C" { #endif #define sha1_block_size 64 #define sha1_hash_size 20 /* algorithm context */ typedef struct sha1_ctx { unsigned char message[sha1_block_size]; /* 512-bit buffer for leftovers */ uint64_t length; /* number of processed bytes */ unsigned hash[5]; /* 160-bit algorithm internal hashing state */ } sha1_ctx; /* hash functions */ void rhash_sha1_init(sha1_ctx* ctx); void rhash_sha1_update(sha1_ctx* ctx, const unsigned char* msg, size_t size); void rhash_sha1_final(sha1_ctx* ctx, unsigned char* result); #ifdef __cplusplus } /* extern "C" */ #endif /* __cplusplus */ #endif /* SHA1_H */