Seed:
Encryption is powered by random numbers, but how do you generate a truly random number? The current millisecond? The number of processor threads in use? You need a starting point. This is called a seed: it kicks off a random number.
Salt:
When you hash a string, it will always end up with the same hash.
foo
= acbd18db4cc2f85cedef654fccc4a4d8
every time.
This is a problem when you want to store things that you want to keep truly hidden (like passwords). If you see acbd18db4cc2f85cedef654fccc4a4d8
you always know that it is foo
. So, you simply add a "salt" to the original string to make sure that it is unique.
foo
+ asdf
= e967c9fead712d976ed6fb3d3544ee6a
foo
+ zxcv
= a6fa8477827b2d1a4c4824e66703daa9
So 'salt' makes a 'hash' better by obscuring the original text.