Обычно это функция ASP на стороне сервера.
Когда пользователь создается или его пароль обновляется, вы передаете простой текстовый пароль функции, которая создаст односторонний хэш пароля. Обычно достаточно MD5 или аналогичного, но в зависимости от требуемой безопасности вы можете выбрать более сложные алгоритмы шифрования. Хешированный пароль затем отправляется в базу данных для хранения в зашифрованном формате.
При входе в систему вы берете введенную текстовую версию пароля, хешируете его, используя тот же алгоритм, что и раньше, затем сравнивайте с сохраненной хешированной версией в базе данных. Если они совпадают, значит, они ввели правильный пароль.
Вы можете сделать это немного сложнее для взломщика, используя то, что называется соль. Это случайно сгенерированная строка, хранящаяся в базе данных в виде простого текста, которую вы добавляете к исходному паролю и, следовательно, к паролю, который вы проверяете, для добавления некоторой случайности к его хешированному значению. Если вы этого не сделаете, то для взлома всех паролей может использоваться атака грубой силы, которая пробивает один пароль. Если вы используете соль, они получат только один пароль для каждой атаки методом перебора.