/
DevDenzo
/
CredentialFile
Обзор
Документация
Войти
/
DevDenzo
/
CredentialFile
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/PasswordEncryptionDecorator.java
38 строк
1 KB
Denis Sklyarskij
Создан декоратор шифрования
22 дек 2025, 14:57
22 дек 2025, 14:57
2375e44
Код
Авторство
О чём код?
import org.mindrot.jbcrypt.BCrypt; import org.json.JSONArray; import org.json.JSONObject; public class PasswordEncryptionDecorator extends DataSourceDecorator { public PasswordEncryptionDecorator(DataSource source) { super(source); } @Override public void writeData(String jsonInput) { JSONArray inputArray = new JSONArray(jsonInput); JSONArray outputArray = new JSONArray(); for (int i = 0; i < inputArray.length(); i++) { JSONObject userObj = inputArray.getJSONObject(i); String username = userObj.getString("username"); String plainPassword = userObj.getString("password"); String hashedPassword = BCrypt.hashpw(plainPassword, BCrypt.gensalt()); JSONObject outputUser = new JSONObject(); outputUser.put("username", username); outputUser.put("password", hashedPassword); outputArray.put(outputUser); } /* Записываем результат с отступом в 2 пробела */ wrapper.writeData(outputArray.toString(2)); } @Override public String readData() { return wrapper.readData(); } }