From what you mentioned "non cryptographic hash function does not care about security while cryptographic hash care more about security"
I want to know what are the applications of the former and why is security negligible ?
because they are not designed to be used for anything that requires security. their use case as i mentioned in an example above is different. here is more examples:
- checksums and error detections
- hashtables
- bloom filters (bitcoin uses MurMur3 in its bloom filters).
- ...
we don't care about security in any of these, the purpose of hash function here is just to make our job easier. for example the checksum is there so that we have a quick way of knowing if the input is corrupted or not. in hashtables it is used to quickly compare big objects by only comparing a tiny integer (32-bit hash ie. Int32).
now if a collision occurs it won't be the end of the world, for example in looking up in a hashtable we end up with more than one result with the same hash. keep in mind that even 32-bit is still big enough to keep the chances of collision low (1 in 2^32 or 4.2 billion)