使用 logstash grok 过滤器屏蔽部分信用卡号
Mask a part of creditcard number using logstash grok filter
正在尝试屏蔽 16 位信用卡的一部分(第 6-10 位)。
1234567898763456
到 123456######3456
我可以考虑使用 gsub 过滤器,但我找不到匹配数字的确切部分的方法。
选项是拆分成不同的部分,然后将整个字段 gsub 到“#”,然后重新加入,这似乎工作量太大。欢迎任何建议。
下面的示例将屏蔽所有字符,我如何屏蔽从第 6 位到第 10 位的选择性模式,以获得类似于 123456######3456
.
的结果
filter
{
mutate {
gsub => [
"message","[0-9]{16}","################"
]
}
}
filter {
mutate {
gsub => [
"message","([0-9]{6})([0-9]{6})([0-9]{4})", "######"
]
}
}
正在尝试屏蔽 16 位信用卡的一部分(第 6-10 位)。
1234567898763456
到 123456######3456
我可以考虑使用 gsub 过滤器,但我找不到匹配数字的确切部分的方法。
选项是拆分成不同的部分,然后将整个字段 gsub 到“#”,然后重新加入,这似乎工作量太大。欢迎任何建议。
下面的示例将屏蔽所有字符,我如何屏蔽从第 6 位到第 10 位的选择性模式,以获得类似于 123456######3456
.
filter
{
mutate {
gsub => [
"message","[0-9]{16}","################"
]
}
}
filter {
mutate {
gsub => [
"message","([0-9]{6})([0-9]{6})([0-9]{4})", "######"
]
}
}