Generate unique images of robots from any text. High performance C implementation with farbfeld images
C C++ Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
include/robohash
lib
resources
.gitignore
CMakeLists.txt
LICENSE
README
tester.c

README

             █   █ ██    ██  ███ ██  ███ █ █  █  ███ █ █
             █   █ █ █   █ █ █ █ █ █ █ █ █ █ █ █ █   █ █
             █   █ ██    ██  █ █ ██  █ █ ███ ███ ███ ███
             █   █ █ █   █ █ █ █ █ █ █ █ █ █ █ █   █ █ █
             ███ █ ██    █ █ ███ ██  ███ █ █ █ █ ███ █ █


WHAT IS THIS LIBRARY
        It's a high performance C re-implementation of robohash.org which
        is written in python with a lot of overhead and dependencies.

        This port was originally started for my GSoC project which required
        a way for users to see identity changes for other users of a mesh network.
        The huge python dependency stack made the original implementation
        unusable and thus this port was born.


HOW TO BUILD
        Building librobohash is done with cmake. It has no external dependencies
        except for the GNU stdlib. It contains an embedded version of ARM's mbedtls
        crypto library to handle safe hashing (currently supported are SHA256 and SHA512)
        as well as some tools to store images to disk.

        By default the build system builds a shared library as well as a small testing
        binary to demonstrate functionality. You can turn that off in the CMakeLists.txt
        file.

        mkdir build ; cd build/
        cmake .. ; make


HOW TO USE
        Using this library is easy. The hashing tools from mbedtls can be configured via
        the main initialisation of a robohash context. You can re-use a context but
        make sure to blank the buffers after each operation.


LICENSE
        This library is licensed under the GNU Public License 2.0. Do what you want
        with it, use it commercially. But if you improve on it, provide your
        code changes as a pull request (aka make them open source!)

        There is a copy of the full license included with this project.