Minimal HMAC-SHA256 implementation in C / C++ https://github.com/h5p9sl/hmac_sha256
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
||1 year ago|
|examples||1 year ago|
|tests||1 year ago|
|.clang-format||2 years ago|
|.gitignore||1 year ago|
|CMakeLists.txt||1 year ago|
|LICENSE||1 year ago|
|README.md||1 year ago|
|hmac_sha256.c||2 years ago|
|hmac_sha256.h||2 years ago|
|sha256.c||2 years ago|
|sha256.h||2 years ago|
Minimal HMAC-SHA256 implementation in C / C++
This repository provides minimal HMAC-Sha256 code you can copy into your own projects.
hmac_sha256 function looks like this:
size_t // Returns the number of bytes written to `out` hmac_sha256( // [in]: The key and its length. // Should be at least 32 bytes long for optimal security. const void* key, const size_t keylen, // [in]: The data to hash alongside the key. const void* data, const size_t datalen, // [out]: The output hash. // Should be 32 bytes long. If it's less than 32 bytes, // the resulting hash will be truncated to the specified length. void* out, const size_t outlen );
All contributions are welcome, feature requests, or issues. I aim to tailor this code not only for myself, but for other's use cases too.
Usage Example (C++)
Big thank you to WjCryptLib for providing the Sha256 implementation of which this project is based off. If you need more public domain cryptographic functions in C (sha, aes, md5), check them out.