手机号脱敏处理_php数据脱敏处理(身份证,手机号等)

df229d90cc983dd4832b0dd38b553978.png

一、什么是数据脱敏?


数据脱敏(Data Masking),又称数据漂白、数据去隐私化或数据变形。 百度百科对数据脱敏的定义为:指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。

生活中不乏数据脱敏的例子,比如我们最常见的火车票(有*号的地方)、电商收货人地址都会对敏感信息做处理。

7b53d3986c6ed9b46850b07f52bbe43b.png

二、为什么要进行数据脱敏?


在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。

三、如何实现


以下是用php写的脱敏函数


/** * 数据脱敏函数 * @param $string 需要脱敏值 * @param int $start 开始 * @param int $length 结束 * @param string $re 脱敏替代符号 * @return bool|string * 例子: * dataDesensitization('13126989876', 3, 4); //131****9876 * dataDesensitization('张三四', 0, -1); //**四 */function dataDesensitization($string, $start = 0, $length = 0, $re = '*'){ if (empty($string)){ return false; } $strarr = array(); $mb_strlen = mb_strlen($string); while ($mb_strlen) {//循环把字符串变为数组 $strarr[] = mb_substr($string, 0, 1, 'utf8'); $string = mb_substr($string, 1, $mb_strlen, 'utf8'); $mb_strlen = mb_strlen($string); } $strlen = count($strarr); $begin = $start >= 0 ? $start : ($strlen - abs($start)); $end = $last = $strlen - 1; if ($length > 0) { $end = $begin + $length - 1; } elseif ($length < 0) { $end -= abs($length); } for ($i = $begin; $i <= $end; $i++) { $strarr[$i] = $re; } if ($begin >= $end || $begin >= $last || $end > $last) return false; return implode('', $strarr);}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值