Is there any standard or accepted one way function that does not produce collisions? I'm not looking for hash functions. 

Does that make sense at all? for example given string with length `n`, the function will always output same obfuscated string that is not possible to reverse engineer. something that is mathematically one way function but also doesn't produce collision. 

So I don't want to store the actual input, but just a successor of input that cant be decrypted at all, this will be used only to see if duplicate input is received or not.