I am learning MD5. I found a term 'hash' in most description of MD5. I googled 'hash', but I could not find exact term of 'hash' in computer programming.
Why are we using 'hash' in computer programming? What is origin of the word??
Hash is a cannabis concentrate product composed of compressed or purified preparations of stalked resin glands, called trichomes, from the plant. It is defined by the 1961 UN Single Convention on Narcotic Drugs (Schedule I and IV) as "the separated resin, whether crude or purified, obtained from the cannabis plant".
Hash is made by eliminating plant material and gathering trichomes from the tops of female cannabis plants. Since the flower heads have the greatest concentration of trichomes and, thus, potency of any part of the plant, the THC content is much, much higher.
I would say any answer must be guesswork, so I will make this a community wiki.
Hash, or hash browns, is breakfast food made from cutting potatoes into long thin strips (smaller than french fries, and shorter, but proportionally similar), then frying the mass of strips in animal or vegetable fat until browned, stuck together, and cooked. By analogy, 'hashing' a number meant turning it into another, usually smaller, number using a method which still deterministically depending on the input number.
I believe the term "hash" was first used in the context of "hash table", which was commonly used in the 1960's on mainframe-type machines. In these cases, usually an integer value with a large range is converted to a "hash table index" which is a small integer. It is important for an efficient hash table that the "hash function" be evenly distributed, or "flat."
I don't have a citation, that is how I have understood the analogy since I heard it in the 80's. Someone must have been there when the term was first applied, though.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With