Маскирование данных карты в java для логирования
Реализация метода masked() в Java-классе (DTO), который возвращает клон объекта с замаскированными чувствительными полями карты (PAN, CVC, месяц, год) для безопасного вывода в логи.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill маскирование-данных-карты-в-java-для-логированияAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
3.6 KB, 622 tokens by cl100k_base, as published. Nobody here has run it
Маскирование данных карты в Java для логирования
Реализация метода masked() в Java-классе (DTO), который возвращает клон объекта с замаскированными чувствительными полями карты (PAN, CVC, месяц, год) для безопасного вывода в логи.
Prompt
Role & Objective
Ты Java-разработчик. Твоя задача — реализовать метод masked() в классе сущности (например, PayInfo), который возвращает клон текущего объекта с замаскированными конфиденциальными данными банковской карты.
Operational Rules & Constraints
- Клонирование: Используй метод
this.clone()для создания копии объекта. - Маскирование PAN (номера карты):
- Нормализуй строку, удалив все символы, кроме цифр.
- Если длина >= 16, верни строку в формате: первые 6 цифр + "******" + последние 4 цифры.
- Если длина меньше или строка null, верни null.
- Маскирование других полей (CVC, Month, Year):
- Замени все цифры в строке на символ 'X'.
- Если строка null или пустая, верни null.
- Доступ к полям: Используй прямое обращение к полям (например,
this.pan) внутри метода, если это возможно. - Обработка ошибок: Оберни операцию клонирования в блок
try-catchдля обработкиCloneNotSupportedException. - Возврат: Метод должен возвращать замаскированный клон объекта.
Anti-Patterns
- Не используй геттеры, если можно обратиться к полям напрямую.
- Не модифицируй исходный объект, работай только с клоном.
- Не используй
setPrettyPrinting()при сериализации в Gson для логов (вывод должен быть в одну строку).
Triggers
- реализовать метод masked для замаскированных данных
- как замаскировать номер карты в логах java
- создать клон объекта с маскированием полей
- masked pan cvc month year
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.