В чем разница между контрольной суммой и хешированием?
Контрольная сумма - это значение, которое может быть получено с помощью какой либо хеш-функции (например MD5), а хеширование - это уже процесс преобразования данных с помощью хеш-функции.
Нет, это не одно и то же. 
Контрольная сумма - алгоритм подтверждения валидности данных. Например все банковские карты проверяются по алгоритму Луна.
Соль - набор каких либо данных для усложнения процесса дешифровки. Например пароль 123456 без соли будет шифроваться или хешироваться в одинаковую последовательность символов и радужными таблицами расколется за доли секунды(даже на глаз можно дешифровать) но если присолить какой нибудь фигней и сделать шифровать уже сообщение "123456фигня1","123456фигня2" то результат шифрования хэширования будет уже разнообразным. А если еще и алгоритм засолки не дуболомный - вообще прекрасно.
Хэширование - преобразование массива данных в битовую строку. Изучайте