https://github.com/ron4fun/hashlib4cpp
Comprehensive Hashing Library for C++ Compilers.
https://github.com/ron4fun/hashlib4cpp
crypto cryptography hash hashing sha256
Last synced: 8 months ago
JSON representation
Comprehensive Hashing Library for C++ Compilers.
- Host: GitHub
- URL: https://github.com/ron4fun/hashlib4cpp
- Owner: ron4fun
- License: mit
- Created: 2017-08-10T14:20:48.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2021-07-26T14:42:04.000Z (almost 5 years ago)
- Last Synced: 2024-07-20T23:46:52.264Z (almost 2 years ago)
- Topics: crypto, cryptography, hash, hashing, sha256
- Language: C++
- Homepage:
- Size: 508 KB
- Stars: 28
- Watchers: 4
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DEPRECATED
⛔️ This library is no longer maintained, please consider using the upgraded version [HashLibPlus](https://github.com/ron4fun/HashLibPlus) instead.
# HashLib4CPP [](https://github.com/ron4fun/HashLib4CPP/blob/master/LICENSE)
HashLib4CPP is a C++11 library that provides an easy to use interface for computing hashes and checksums of strings, files, streams, bytearrays and untyped data to mention but a few.
It also supports **Incremental Hashing**, **Cloning** and **NullDigest**.
**Supported Algorithms:**
Non-Cryptographic 32-bits Hash Algorithms: AP, BKDR, Bernstein, Bernstein1, DEK, DJB,
ELF, FNV, FNV1a, JS, Jenkins3, Murmur2, MurmurHash3_x86_32, OneAtTime, PJW, RS,
Rotating, SDBM, ShiftAndXor, SuperFast, XXHash32.
Non-Cryptographic 64-bits Algorithms: FNV, FNV1a, Murmur2_64, SipHash2_4, XXHash64.
Non-Cryptographic 128-bits Algorithms: MurmurHash3_x86_128, MurmurHash3_x64_128.
Checksum Algorithms: Adler32, All CRC Variants from CRC3 to CRC64.
Cryptographic Algorithms: GOST, Grindahl, HAS160, Haval, MD2, MD4, MD5, Panama,
RadioGatun, RIPEMD, RIPEMD128, RIPEMD160, RIPEMD256, RIPEMD320, SHA0, SHA1, SHA2-224,
SHA2-256, SHA2-384, SHA2-512, SHA2-512-224, SHA2-512-256, SHA3-224, SHA3-256, SHA3-384,
SHA3-512, Keccak-224, Keccak-256, Keccak-384, Keccak-512, Snefru128, Snefru256, Tiger,
Tiger2, WhirlPool, Blake2B, Blake2S, Streebog (GOST3411_2012_256, GOST3411_2012_512).
HMAC for any of the above.
PBKDF2_HMAC for any of the above.
**Tested Enviroments:**
Visual Studio 2015.
Visual Studio 2017.
**Usage Examples.**
```c++
#include "HashLib4CPP.h"
int main()
{
IHash hash = HashLib4CPP::Crypto::CreateMD5();
IHash clone = hash->Clone();
IHMAC hmac = HashLib4CPP::HMAC::CreateHMAC(hash);
hmac->SetKey(Converters::ConvertStringToBytes("password"));
IHashResult Result1 = hash->ComputeString("Hash");
IHashResult Result2 = hmac->ComputeString("Hash");
bool check = Result1->CompareTo(Result2);
return 0;
}
```
**Unit Tests:**
To run the unit tests, you should have [boost library](http://www.boost.org/)
installed in your workstation.
For VisualStudio, set environment variable BOOST_ROOT to your boost root folder
(where the binary is).
###License
This "Software" is Licensed Under **`MIT License (MIT)`** .
#### Tip Jar
* :dollar: **Bitcoin**: `1Mcci95WffSJnV6PsYG7KD1af1gDfUvLe6`
Conclusion
--------------------------------------------------
Special thanks to [Xor-el](https://github.com/xor-el) for making this library available in the first place.