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