增加data mask 调度与注册逻辑
This commit is contained in:
parent
e7bcb76acd
commit
235bb019cf
28
abstract.go
Normal file
28
abstract.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
// Package data_mask ...
|
||||||
|
//
|
||||||
|
// Description : data_mask ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 2023-05-23 14:23
|
||||||
|
package data_mask
|
||||||
|
|
||||||
|
// IDataMask 接口约束
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 14:23 2023/5/23
|
||||||
|
type IDataMask interface {
|
||||||
|
// Mask 将输入的input, 转换成输出数据
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 14:24 2023/5/23
|
||||||
|
Mask(input string) string
|
||||||
|
// Type 数据脱敏类型
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 14:24 2023/5/23
|
||||||
|
Type() string
|
||||||
|
}
|
24
default.go
Normal file
24
default.go
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// Package data_mask ...
|
||||||
|
//
|
||||||
|
// Description : data_mask ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 2023-05-23 14:25
|
||||||
|
package data_mask
|
||||||
|
|
||||||
|
// DefaultDataMask 默认实现
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 14:27 2023/5/23
|
||||||
|
type DefaultDataMask struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d DefaultDataMask) Mask(input string) string {
|
||||||
|
return input
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d DefaultDataMask) Type() string {
|
||||||
|
return TypeDefault
|
||||||
|
}
|
13
define.go
Normal file
13
define.go
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// Package data_mask ...
|
||||||
|
//
|
||||||
|
// Description : data_mask ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 2023-05-23 14:26
|
||||||
|
package data_mask
|
||||||
|
|
||||||
|
const (
|
||||||
|
// TypeDefault 默认实现
|
||||||
|
TypeDefault = "DEFAULT_DATA_MASK"
|
||||||
|
)
|
33
execute.go
Normal file
33
execute.go
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
// Package data_mask ...
|
||||||
|
//
|
||||||
|
// Description : data_mask ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 2023-05-23 14:25
|
||||||
|
package data_mask
|
||||||
|
|
||||||
|
var (
|
||||||
|
maskInstanceTable = make(map[string]IDataMask)
|
||||||
|
defaultDataMask = &DefaultDataMask{}
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
maskInstanceList := []IDataMask{}
|
||||||
|
for _, item := range maskInstanceList {
|
||||||
|
maskInstanceTable[item.Type()] = item
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Execute 执行数据脱敏
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 14:31 2023/5/23
|
||||||
|
func Execute(data string, maskType string) string {
|
||||||
|
dataMaskInstance, exist := maskInstanceTable[maskType]
|
||||||
|
if !exist || nil == dataMaskInstance {
|
||||||
|
dataMaskInstance = defaultDataMask
|
||||||
|
}
|
||||||
|
return dataMaskInstance.Mask(data)
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user