Commit d28a136f1da744cf5755c3add42d33adbe15c8fd

Authored by Georg Hopp
1 parent ffa5f92c

start documentation

Showing 1 changed file with 81 additions and 0 deletions
  1 +LIBTRHASH
  2 +=========
  3 +
  4 +This bundles some useful hashing and encoding functions.
  5 +Part of this comes from taskrambler, other are added later.
  6 +
  7 +Currently it contains code to create an sha1 hash, Uuids Version 1, 3 and
  8 +5 and code to hexencode or decode in a charset independent way.
  9 +The idea for this is taken from the base64 code in the linux
  10 +core utils.
  11 +
  12 +### Hashing: sha1 md5 ###
  13 +
  14 +When OpenSSL is available it is used for sha1 or md5 creation because
  15 +it is really hard to outperform it. Anyway, if for some reason
  16 +OpenSSL is not available I have alternative code in place here.
  17 +
  18 +The C implementation without SSE intrisics is created by myself.
  19 +The vectorized SSE intrisics code is public domain and from
  20 +[this page](http://arctic.org/~dean/crypto/sha1.html).
  21 +
  22 +On my system the implementation without intrisics is 4 times
  23 +slower than the OpenSSL code whereas the intrisics code is just
  24 +marginally slower.
  25 +
  26 +In future I will add own md5 code to make this library independet
  27 +from OpenSSL if needed.
  28 +
  29 +### Uuid ###
  30 +
  31 +This is just an addon on to the utils-linux implementation of
  32 +DCE uuid's done by Theodore Y. Ts'o. It wraps uuids in my class system
  33 +right now and adds version 3 and version 5 uuid.
  34 +
  35 +Anyway, this will only work on linux as it's build around the util-linux
  36 +code.
  37 +
  38 +### encoding ###
  39 +
  40 +Currently this contains code hexencode and hexdecode data in a
  41 +charset independent way. As a special case of hexdecoding a
  42 +urldecode function is also available.
  43 +
  44 +In the near future code to urlencode and base64 encode and decode
  45 +code will be added.
  46 +
  47 +INSTALLATION
  48 +------------
  49 +
  50 +This can be installed via the usual configure, make, make install
  51 +cycle. For gentoo users am ebuild is added under docs.
  52 +
  53 +### API DOC ###
  54 +
  55 +To generate the api doc a patched version of doxygen is
  56 +neccessary. A patch is included under docs.
  57 +
  58 +`make docs` creates the api doc.
  59 +
  60 +USAGE
  61 +-----
  62 +
  63 +### API ###
  64 +
  65 +### EXAMPLE ###
  66 +
  67 +TESTING
  68 +-------
  69 +
  70 +No tests right now... sorry.
  71 +
  72 +### REQUIREMENTS
  73 +
  74 +CONTRIBUTION
  75 +------------
  76 +
  77 +I would really like to see some people possibly interested in this stuff.
  78 +I think it contains some really interesting ideas.
  79 +
  80 +If you like to contribute anyway, make a fork, do your changes and generate
  81 +a pull request. Or simply contact me on georg@steffers.org.
... ...
Please register or login to post a comment