/cocoa

:chocolate_bar: Cocoa is an uniform hashing library with no dependencies that provides interface for CRC32, CRC64, GCRC, RS, JS, PJW, ELF, BKDR, SBDM, DJB, DJB2, BP, FNV, FNV1a, AP, BJ1, MH2, SHA1, SFH (C++11)

Primary LanguageC++zlib LicenseZlib

cocoa

  • Cocoa is an uniform hashing library written in C++11.
  • Cocoa provides interface for CRC32, CRC64, GCRC, RS, JS, PJW, ELF, BKDR, SBDM, DJB, DJB2, BP, FNV, FNV1a, AP, BJ1, MH2, SHA1, SFH.
  • Cocoa is tiny. Header-only.
  • Cocoa is cross-platform. No dependencies.
  • Cocoa is zlib/libpng licensed.

Sample

#include <cassert>
#include <string>
#include "cocoa.hpp"

int main() {
    std::string hash = cocoa::SHA1("hello world");
    std::cout << hash << std::endl;
    assert( cocoa::SHA1("hello world") == cocoa::SHA1("hello world") );
    return 0;
}

Possible output


~/cocoa>./test
2aae6c35c94fcfb415dbe95f408b9ce91ee846ed
~/cocoa>

C++03

Check old c++03 version here

API

For more details check the tests.cxx file.

Cocoa::hash() API

  • @todocument

Changelog

  • v1.0.0 (2015/06/12)
    • Removed warning
  • v0.0.0 (2010/xx/xx)
    • Initial commit