Hi, everyone out there,

I'm looking for the SOURCE code of an Hash algorithm. Don't ask me more questions because I don't know really NOTHING of it. I heard that MD5 is also an hash algorithm.
What I need is a hashing and de-hashing algorithm.
Is there anyone who can help me with one.

Thanx
Posted on 2003-11-05 06:57:52 by raidu
There is no such thing as dehashing. A hash is a sort of checksum. hash != encryption.
Posted on 2003-11-05 07:59:33 by roticv
Such hash algorithms are called "Secure One Way Functions", because there exists no way to get informations from a computed hash digest back to the hashed input.
These are algorithms in the field of Cryptography and are not simple checksum algorithms. In fact most checksums are designed to detect and correct biterrors, thus can compute in parts backward. Thats not the case with hash functions.

Regards, Hagen
Posted on 2003-11-05 08:33:51 by Hagen
ok, ut how can men DECRYPT the message (with the public key)?? Hashing is encryption right? so the message must be decrypted also otherwise encryption is useless....
What i need are these algorithms....

thanx for your reply
Posted on 2003-11-05 10:41:24 by raidu
You should read 2 thinks
1) A tutorial about crypt*
2) Microsoft Crypto Api. If you want speed, don't use CryptoApi but code your own routine
Posted on 2003-11-05 12:01:51 by greenant
Maybe i am wrong, but sometime I have contact with this ;)


I like to say that a hash function can be thinked like a person that have the responsability to redirect persons to n doors, where n is the number of entryes in the table, then the function can take some particularity of the person to say go to this door, the same person(hash function) if you ask to some particularuty can say you, yes if are a person with that particularuty, go to this door and search inside for the particular.


Supose that you have 5 doors, you will order the person by years, you have some way, for example multiply the years by a 'k', then add 7*year and at the end divide it by 5 and get the modulus, you see that for any number divided by 5 you never will have a number major to 5, only in the range of 0,1, ..., 4 (the modulus) if I am not wrong, this is called a hash function using modulus (mmm... i dont remember the name correctly).

There are other way.. called hash with multiplication, i like to think in this like a line, supose that you have a line eg, the real numbers, then the doors that you have are 0,1,2,3,4,5,6,7,8,9,10, then you need put all the numbers in this doors, then you SCALE the line, to fit in some place of 0,1,..,5,6,..,10, by scaling is multiply by a number n from 0<n<1, i dont remember correctly this.. sorry...

This two paragraphs are.. two diferent techniques for hash (i think one are the complement of the oither, one use division, and the other multiplication), but see that a purpuose that i see is access more fast some that you have in the doors, like I see, you dont need a reash o dehas al?gorithm, you only need a hash function, the same hash function always return you a called key (look to a door XD), even if is for insert or for substract a element, with specific caracteristics(computations) it always will give you the correct key.

Hope that help a little.

Nice day.
Posted on 2003-11-07 08:56:26 by rea
Posted on 2003-11-07 09:18:39 by Azrim
I use an md5 routine in my password cracker program. This routine is taken from the ssleay package.
This package contains also many other hashing procedures written in c and assembly
Posted on 2003-11-07 10:24:09 by greenant
Posted on 2003-11-07 12:24:38 by MazeGen