Как определить регулярное выражение "пароль": "[123456]" для маскировки - PullRequest
1 голос
/ 05 мая 2020

Я использую logback (logback-gelf vs.1.1.0) для входа в приложение весенней загрузки. У него есть файл конфигурации xml, и я пытаюсь написать регулярное выражение для маскировки паролей в этом файле конфигурации. Я пишу это:

%replace(%msg){'(password...)(\d{6})(.)', '$1****$3'}

Он работает с {"password":"123456"} и дает на выходе {"password":"****"}. Однако он не может работать с:

{"client_id":["account"],"password":["111111"],"grant_type":["password"]}

Я хочу сделать это {"client_id":["account","password":["****"],"grant_type":["password"]}

Как я могу это сделать?

1 Ответ

0 голосов
/ 05 мая 2020

Проблема с вашим регулярным выражением заключается в том, что оно всегда считает 3 символа между строкой «пароль» и фактическим паролем.

Вместо этого сделайте следующее:

%replace(%msg){'(password"\S+?")(\S+?)(".+)', '$1****$3'}

Демо

...