Hash Functions(papa.bretmulvey.com) |
Hash Functions(papa.bretmulvey.com) |
For English words, this is usually done with soundex / metaphone / doublemetaphone. Fun fact, soundex was developed over 100 years ago to help immigrants find their families in USA even if they didn't know how to spell their last name. Soundex is supported by most DBs.
For images, there are hashes like ahash/phash/dhash/whash/blockmeat/colormoment/colorhas/marrHildreth .
Most popular Audio hash is acoustid. There was also EchoPrint (with two incompatible versions), but once EchoNest was bought out by Spotify the public support and development into echoprint died. Some groups of people tried to keep echoprint alive but I am unaware if it is still used by anyone publicly.
http://www.highprogrammer.com/alan/numbers/dl_us_shared.html
If you're comfortable sharing, would like to find out which state you're referring to. Cheers.
https://patentimages.storage.googleapis.com/31/35/a1/f697a3a...
you correctly point out that some hash functions exist which map input words in some specific language into similarity groups based on some concept of semantics
but this is essentially unrelated to the topics raised in the linked article
But you can also trivially turn a hash function into a cipher and encrypt with it (apologies if I missed an explanation of this in the article). Just hash a key and a counter together to create a keystream and XOR your plaintext to it. That's how Salsa20 and ChaCha20 work. (Interestingly, the reverse process --- converting a block cipher into a hash function --- is where we historically get our cryptographic hash functions from).
Things like CRCs, Checksums are loosely considered hash functions: https://en.wikipedia.org/wiki/List_of_hash_functions
MD5SUM is a classic example of a hash function with a low (but still reasonable) chance of a collision
It has the encoding formula for Wisconsin, Illinois, and Florida (which match the parent's comment) but there may be others.
Weirdly, I remember that # even now. Soundex-???-2DigitYearOfBirth-???
Looks like at least the format has changed since then.
This is pretty much thanks to the sponge construction.
> For a function to be useful as a hash function, it must exhibit the property of uniform distribution
It's also listed as the first property on the Wikipedia page:
> A hash function is any function that can be used to map data of arbitrary size to fixed-size values
And the first sentence in the section you link says
> A good hash function should map the expected inputs as evenly as possible over its output range.
It doesn’t have to be “good” to be a hash function.
def hash(val):
return 0Tangential edit: https://xkcd.com/221/