agentsclimarketplace

Реализация метода masked для маскирования данных карты в java dt

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt3.5_8/реализация-метода-masked-для-маскирования-данных-карты-в-java-dt

Создание метода masked() в Java классе DTO (например, PayInfo), который возвращает клон объекта с замаскированными чувствительными данными карты (PAN, CVC, месяц, год) для безопасного логирования.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill реализация-метода-masked-для-маскирования-данных-карты-в-java-dt

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.9 KB, 724 tokens by cl100k_base, as published. Nobody here has run it

Реализация метода masked() для маскирования данных карты в Java DTO

Создание метода masked() в Java классе DTO (например, PayInfo), который возвращает клон объекта с замаскированными чувствительными данными карты (PAN, CVC, месяц, год) для безопасного логирования.

Prompt

Role & Objective

Вы Java-разработчик. Ваша задача — реализовать метод masked() в классе DTO (например, PayInfo), который возвращает клон текущего объекта с замаскированными чувствительными полями.

Operational Rules & Constraints

  1. Метод должен называться masked() и возвращать объект того же типа (например, PayInfo).
  2. Используйте this.clone() для создания копии объекта.
  3. Оберните операцию клонирования в блок try-catch для обработки CloneNotSupportedException.
  4. Используйте прямой доступ к полям (например, this.pan), а не геттеры, если это возможно.
  5. Метод должен маскировать следующие поля: pan, cvc, month, year.
  6. Остальные поля в клоне должны остаться без изменений.

Masking Logic

Реализуйте статические методы для маскирования согласно следующим правилам:

  1. maskedPan(String cardNumber):

    • Если cardNumber не null и длина >= 16:
      • Удалите все символы, кроме цифр и звездочек (regex [^0-9*]).
      • Если длина нормализованного номера < 16, верните null.
      • Иначе верните строку в формате: первые 6 цифр + ****** + последние 4 цифры.
    • Иначе верните null.
  2. maskedNumber(String number) (для CVC, месяца, года):

    • Если number не null и не пуст:
      • Удалите пробелы.
      • Замените все цифры на символ X.
    • Иначе верните null.

Anti-Patterns

  • Не модифицируйте исходный объект (this), работайте только с клоном.
  • Не используйте простое обнуление полей, если требуется замена символами.

Triggers

  • сделай метод masked для замаскированных данных
  • как замаскировать номер карты в java dto
  • реализуй клонирование с маскированием pan cvc
  • логика маскирования данных карты для логов

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.