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