using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
private const string RegExpReplacement = "$1***$2";
private static readonly string[] PasswordLiterals =
{
"password",
"RootPassword",
"PassPhrase"
};
public static string Replace2(string sensitiveInfo)
{
var multiplePattern = $"(\"(?:{string.Join("|", PasswordLiterals)})\":\")[^\"]*(\")";
return Regex.Replace(sensitiveInfo, multiplePattern, RegExpReplacement, RegexOptions.IgnoreCase);
}
public static void Main()
{
Console.Write(Replace2("\"Password\":\"123\",\"RootPassword\":\"123qwe\",\"PassPhrase\":\"phrase\""));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHJpdmF0ZSBjb25zdCBzdHJpbmcgUmVnRXhwUmVwbGFjZW1lbnQgPSAiJDEqKiokMiI7CgoJICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IHN0cmluZ1tdIFBhc3N3b3JkTGl0ZXJhbHMgPQoJICAgIHsKCSAgICAgICAgInBhc3N3b3JkIiwKCSAgICAgICAgIlJvb3RQYXNzd29yZCIsCgkgICAgICAgICJQYXNzUGhyYXNlIgoJICAgIH07CgkKCSAgICBwdWJsaWMgc3RhdGljIHN0cmluZyBSZXBsYWNlMihzdHJpbmcgc2Vuc2l0aXZlSW5mbykKCSAgICB7CgkgICAgICAgIHZhciBtdWx0aXBsZVBhdHRlcm4gPSAkIihcIig/OntzdHJpbmcuSm9pbigifCIsIFBhc3N3b3JkTGl0ZXJhbHMpfSlcIjpcIilbXlwiXSooXCIpIjsgCgkgICAgICAgIHJldHVybiBSZWdleC5SZXBsYWNlKHNlbnNpdGl2ZUluZm8sIG11bHRpcGxlUGF0dGVybiwgUmVnRXhwUmVwbGFjZW1lbnQsIFJlZ2V4T3B0aW9ucy5JZ25vcmVDYXNlKTsKCSAgICB9CgkgICAgCglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJQ29uc29sZS5Xcml0ZShSZXBsYWNlMigiXCJQYXNzd29yZFwiOlwiMTIzXCIsXCJSb290UGFzc3dvcmRcIjpcIjEyM3F3ZVwiLFwiUGFzc1BocmFzZVwiOlwicGhyYXNlXCIiKSk7CgkgICAgCgl9Cn0=