Короче говоря:
Шифрование - это процесс с обратным. Другими словами: если я зашифровываю некоторый текст, существует процесс, который может преобразовать новый текст обратно в исходный, называемый расшифровка .
Хеширование принципиально отличается от шифрования, потому что не имеет такой процесс. Хэш предназначен для предоставления вам результата, который является уникальным для заданного входного текста (ну, почти уникальным, давайте оставим его уникальным). Таким образом, люди могут проверить, были ли два входных текста равны, не зная, какой фактический входной текст был. Поэтому, если люди получат ваш хешированный пароль, они все равно не смогут его расшифровать. SHA - это семейство методов, обеспечивающих хеширование.
Соли и перцы - это просто дополнительные методы хэширования, которые описывают процесс добавления чего-либо до и после входного текста перед хэшированием. Это повышает сложность взлома хэшей методом возврата к тексту.
Взлом с использованием грубой силы означает простое использование всех возможных входных данных (aa, ab, ac и т. Д.) И посмотреть, сможете ли вы сгенерировать хеш, который соответствует хешу, который вы получили, взломав какой-либо веб-сайт или что-то еще. Вы можете найти больше об этом здесь: https://security.stackexchange.com/questions/3272/password-hashing-add-salt-pepper-or-is-salt-enough