Change Password
Смена пароля - это процесс изменения текущего пароля пользователя на новый. В большинстве систем есть потребность в разработке функционала смены пароля, чтобы пользователи могли регулярно обновлять свои пароли для повышения безопасности.
Пример кода на языке Python для смены пароля может выглядеть следующим образом:
python
import bcrypt
def change_password(user_id, current_password, new_password):
# Проверка соответствия текущего пароля
user = User.get_by_id(user_id)
if not bcrypt.checkpw(current_password.encode('utf-8'), user.password):
return 'Текущий пароль указан неверно'
# Хеширование и сохранение нового пароля
salt = bcrypt.gensalt()
hashed_password = bcrypt.hashpw(new_password.encode('utf-8'), salt)
user.password = hashed_password
user.save()
return 'Пароль успешно изменен'
В данном примере предполагается использование библиотеки bcrypt для хеширования паролей. При вызове функции change_password необходимо передать идентификатор пользователя (например, его уникальный идентификатор в базе данных), текущий пароль пользователя и новый пароль. Функция проверяет соответствие текущего пароля введенному пользователем и, если проверка проходит успешно, генерирует случайную соль, хеширует новый пароль в сочетании со солью и сохраняет его вместо старого.
Для реализации данного функционала в фреймворках вроде Django, Laravel или Ruby on Rails, часто имеются встроенные средства для смены пароля, которые автоматически заботятся о хешировании и сохранении нового пароля.