Admin Core

数据安全工具

命名空间:ZhonTai.Common.Helpers

命名空间ZhonTai.Common.Helpers

提供数据脱敏、IP 获取与验证、密码规则校验等安全相关工具类。


DataMaskHelper 数据脱敏

应用场景

  • 用户列表中手机号/邮箱脱敏展示
  • 日志中 IP 地址脱敏
  • 数据导出时敏感信息保护

使用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using ZhonTai.Common.Helpers;

// 手机号脱敏(中间4位替换为 ****)
var phone = DataMaskHelper.PhoneMask("13812345678");
// "138****5678"

// 自定义脱敏字符
var phone2 = DataMaskHelper.PhoneMask("13812345678", "***");
// "138***5678"

// 邮箱脱敏
var email = DataMaskHelper.EmailMask("zhangsan@example.com");
// "zh****@example.com"

// IP 地址脱敏
var ip = DataMaskHelper.IPMask("192.168.1.100");
// "192.*.*.100"

// 自定义 IP 脱敏字符
var ip2 = DataMaskHelper.IPMask("192.168.1.100", "x");
// "192.x.x.100"

内置正则表达式

可直接使用以下内置正则:

正则 说明
DataMaskHelper.PhoneMaskRegex 手机号脱敏正则
DataMaskHelper.EmailMaskRegex 邮箱脱敏正则
DataMaskHelper.IPMaskRegex IP 脱敏正则

IPHelper IP 工具

应用场景

  • 从 HTTP 请求中获取客户端真实 IP
  • IP 地址格式校验

使用示例

1
2
3
4
5
6
7
8
using ZhonTai.Common.Helpers;

// 校验 IP 格式
IPHelper.IsIP("192.168.1.1"); // true
IPHelper.IsIP("256.1.1.1"); // false

// 从 HttpRequest 获取真实 IP(支持代理场景)
var ip = IPHelper.GetIP(HttpContext.Request);

GetIP 优先级顺序

按以下优先级获取 IP 地址:

  1. X-Real-IP 请求头
  2. X-Forwarded-For 请求头
  3. RemoteIpAddress

默认返回 127.0.0.1


PasswordHelper 密码校验

应用场景

  • 用户注册/修改密码时的密码强度校验
  • 表单密码规则验证

校验规则

规则 说明
长度 6-16 位
字母 必须包含至少一个字母
数字 必须包含至少一个数字
特殊字符 支持!@#$%^&.*

使用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using ZhonTai.Common.Helpers;

// 校验密码
PasswordHelper.Verify("abc123"); // true
PasswordHelper.Verify("Abc@123"); // true
PasswordHelper.Verify("123456"); // false(缺少字母)
PasswordHelper.Verify("abcdef"); // false(缺少数字)
PasswordHelper.Verify("12345"); // false(少于 6 位)
PasswordHelper.Verify("12345678901234567"); // false(超过 16 位)

// 使用内置正则
var isValid = System.Text.RegularExpressions.Regex.IsMatch(
"Abc@123",
PasswordHelper.PasswordRegex
);

#中台/公共帮助类 #数据脱敏 #密码校验 #正则表达式 #数据安全