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