Если вы посолите, скажем, один символ ASCII случайным образом, атакующему потребуется таблица, размер которой в 256 раз больше по сравнению с радужным столом без солей.
Для соли 2 ASCII его размер уже в 65536 раз больше.
Что действительно нужно упомянуть, почему вы вообще должны использовать соли, так это тот факт, что большинство пользователей используют слова, непосредственно найденные в словаре. У меня нет данных о том, сколько, но я думаю, это много. Таким образом, даже если не используются «радужные» таблицы, злоумышленник может «перебить» только небольшой набор паролей за один раз. Если у вас нет соли, выполните словарную атаку с некоторыми изменениями (добавление чисел, ...), и вы получите, скажем, 30% всех паролей только с одной словарной атакой. С солью это не может произойти за один проход, значит, это занимает гораздо больше времени, а значит, бессмысленно для атакующего.
На ваш другой вопрос:
ничто не мешает злоумышленнику получить другие данные вашей таблицы. Но это ничего, что не может хэшировать пароли с солью или без нее.