Documentation
¶
Overview ¶
* @Author: kamalyes 501893067@qq.com * @Date: 2024-12-18 18:50:58 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2024-12-19 08:15:19 * @FilePath: \go-toolbox\pkg\desensitize\adapter.go * @Description: * 该文件实现了数据脱敏的功能,包括注册脱敏器和执行脱敏操作。 * * Copyright (c) 2024 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2023-07-28 00:50:58 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2024-08-03 22:19:05 * @FilePath: \go-toolbox\pkg\desensitize\constants.go * @Description: * * Copyright (c) 2024 by kamalyes, All Rights Reserved.
* @Author: kamalyes 501893067@qq.com * @Date: 2023-07-28 00:50:58 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2024-12-19 08:15:19 * @FilePath: \go-toolbox\pkg\desensitize\model.go * @Description: * * Copyright (c) 2024 by kamalyes, All Rights Reserved.
Index ¶
- func Desensitization(obj interface{}) error
- func Desensitize(str string, DesensitizeType DesensitizeType, options ...DesensitizeOptions) string
- func OperateByRule(desensitizerType string, in interface{}) (interface{}, error)
- func RegisterDesensitizer(desensitizerType string, desensitizer Desensitizer)
- func SensitiveData(str string, start, end int) string
- func SensitizeBankCard(str string, cardLength int) string
- func SensitizeIpv4(str string) string
- func SensitizeIpv6(str string) string
- func SensitizePhoneNumber(str string, start, end int) string
- type DefaultDesensitizer
- type DesensitizeOptions
- type DesensitizeType
- type Desensitizer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Desensitization ¶ added in v0.11.23
func Desensitization(obj interface{}) error
Desensitization 执行脱敏操作 @param obj: 需要进行脱敏的对象,应该是结构体或指向结构体的指针。 @returns
- 返回可能的错误。
func Desensitize ¶
func Desensitize(str string, DesensitizeType DesensitizeType, options ...DesensitizeOptions) string
Desensitize 数据脱敏
func OperateByRule ¶ added in v0.11.23
OperateByRule 根据规则进行脱敏操作 @param desensitizerType: 脱敏器的类型标识。 @param in: 需要脱敏的输入值,应该是字符串类型。 @returns
- 返回脱敏后的值和可能的错误。
func RegisterDesensitizer ¶ added in v0.11.23
func RegisterDesensitizer(desensitizerType string, desensitizer Desensitizer)
RegisterDesensitizer 注册脱敏器(支持现有和自定义) @param desensitizerType: 脱敏器的类型标识。 @param desensitizer: 实现了 Desensitizer 接口的脱敏器实例。 @returns
- 无返回值。
Types ¶
type DefaultDesensitizer ¶ added in v0.11.23
type DefaultDesensitizer struct {
// contains filtered or unexported fields
}
DefaultDesensitizer 默认脱敏适配器 该结构体实现了 Desensitizer 接口,用于处理标准的脱敏逻辑。
func (*DefaultDesensitizer) Desensitize ¶ added in v0.11.23
func (e *DefaultDesensitizer) Desensitize(value string) string
Desensitize 方法实现 根据指定的脱敏类型对输入的值进行脱敏处理。 @param value: 需要脱敏的字符串值。 @returns
- 返回脱敏后的字符串值。
type DesensitizeOptions ¶
type DesensitizeOptions struct { CustomExtensionStartIndex int CustomExtensionEndIndex int ChineseNameStartIndex int IdCardStartIndex int IdCardLength int PhoneNumberStartIndex int PhoneNumberEndIndex int MobilePhoneStartIndex int EmailStartIndex int }
DesensitizeOptions 脱敏选项
func NewDesensitizeOptions ¶
func NewDesensitizeOptions() DesensitizeOptions
NewDesensitizeOptions 创建带有默认值的 DesensitizeOptions
type DesensitizeType ¶
type DesensitizeType int
const ( CustomExtension DesensitizeType = iota + 1 // 自定义扩展 ChineseName // 中文名称 IDCard // 身份证号 PhoneNumber // 手机号码 MobilePhone // 移动电话号码 Address // 地址 Email // 邮箱 Password // 密码 CarLicense // 车牌号:油车、电车 BankCard // 银行卡号 IPV4 // ipv4 IPV6 // ipv6 )
type Desensitizer ¶ added in v0.11.23
Desensitizer 接口定义 该接口用于定义脱敏器的基本行为,包含一个脱敏方法。