Browse Source

start documentation

1.0.0
Georg Hopp 12 years ago
parent
commit
d28a136f1d
  1. 81
      README.md

81
README.md

@ -0,0 +1,81 @@
LIBTRHASH
=========
This bundles some useful hashing and encoding functions.
Part of this comes from taskrambler, other are added later.
Currently it contains code to create an sha1 hash, Uuids Version 1, 3 and
5 and code to hexencode or decode in a charset independent way.
The idea for this is taken from the base64 code in the linux
core utils.
### Hashing: sha1 md5 ###
When OpenSSL is available it is used for sha1 or md5 creation because
it is really hard to outperform it. Anyway, if for some reason
OpenSSL is not available I have alternative code in place here.
The C implementation without SSE intrisics is created by myself.
The vectorized SSE intrisics code is public domain and from
[this page](http://arctic.org/~dean/crypto/sha1.html).
On my system the implementation without intrisics is 4 times
slower than the OpenSSL code whereas the intrisics code is just
marginally slower.
In future I will add own md5 code to make this library independet
from OpenSSL if needed.
### Uuid ###
This is just an addon on to the utils-linux implementation of
DCE uuid's done by Theodore Y. Ts'o. It wraps uuids in my class system
right now and adds version 3 and version 5 uuid.
Anyway, this will only work on linux as it's build around the util-linux
code.
### encoding ###
Currently this contains code hexencode and hexdecode data in a
charset independent way. As a special case of hexdecoding a
urldecode function is also available.
In the near future code to urlencode and base64 encode and decode
code will be added.
INSTALLATION
------------
This can be installed via the usual configure, make, make install
cycle. For gentoo users am ebuild is added under docs.
### API DOC ###
To generate the api doc a patched version of doxygen is
neccessary. A patch is included under docs.
`make docs` creates the api doc.
USAGE
-----
### API ###
### EXAMPLE ###
TESTING
-------
No tests right now... sorry.
### REQUIREMENTS
CONTRIBUTION
------------
I would really like to see some people possibly interested in this stuff.
I think it contains some really interesting ideas.
If you like to contribute anyway, make a fork, do your changes and generate
a pull request. Or simply contact me on georg@steffers.org.
Loading…
Cancel
Save