1 changed files with 81 additions and 0 deletions
-
81README.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. |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue