Newb question: What is a hash? How is it generated?
Hash is an algorithm/function that will give a fixed size string when input of variable length is given . They are like "One Way " because from outputs you will not be able to guess input (that make it almost impossible to invert). Instead you need to do trial and error with series of Inputs to check which input is giving the desired output.
Using trial and error will require high computational power and even a change of single bit in input , output will be completely different. It is quite rare but it is possible to get same hash for 2 different inputs.
Storing password by using hash function in database will be most practical and useful approach because even if the site database is hacked then hacker will able to see the hashed passwords not the real passwords and they will be of no use to hacker (as reversing hash is almost impossible)
Bitcoin uses SHA-256 algorithm to generate the bitcoin address from the public key.