Хорошо, будьте осторожны с резервной копией, потому что она будет содержать незашифрованные пароли пользователей: -)
Если предположить, что пароли хранятся в базе данных, простое решение будет выглядеть примерно так:
1) Сделайте безопасное резервное копирование всей таблицы данных
2) Создать новый столбец (PasswordEncrypted или похожее имя)
3) Используйте запрос UPDATE, чтобы обновить новый столбец каждой строки с помощью MD5 незашифрованного пароля при использовании соли длиной 32 байта или более. В настоящее время практически каждая система баз данных имеет функцию MD5, поэтому вам даже не придется оставлять запрос SQL
4) Промежуточный столбец с открытым текстом и соответственно обновляйте приложение / скрипты для работы с посоленным паролем.
5) Переименуйте столбец старого пароля в виде открытого текста, чтобы временно вывести его из игры и протестировать приложение - если возникнут какие-либо проблемы, вернитесь к шагу 4 и исправьте свои ошибки.
6) Когда все работает правильно, опустите столбец открытого текста пароля
7) Поощряйте пользователей выбирать новый пароль теперь, когда у вас есть определенный уровень безопасности, чтобы смягчить последствия любых предыдущих атак, которые могли быть успешными.