I've found that the easiest way to explain one-way hashes is to start with the simplest example possible, a function isEven which takes and Int and returns 1 is the argument is even and 0 otherwise. Most people have no trouble accepting that, given only the output, it is impossible to work out what the original input was. Once they've accepted that, building up from there is relatively painless