PHP敏感信息脱敏函数

/**
* 数据脱敏
* @param $string 需要脱敏值
* @param int $start 开始
* @param int $length 结束
* @param string $re 脱敏替代符号
* @return bool|string
* 例子:
* dataDesensitization('18811113683', 3, 4); //188****3683
* dataDesensitization('乐杨俊', 0, -1); //**俊
* dataDesensitization('王刚', 1, 1); //王*
*/
function dataDesensitization($string, $start = 0, $length = 0, $re = '*')
{
   if(empty($string) || empty($length) || empty($re)) return $string;
   $end = $start + $length;
   $strlen = mb_strlen($string);
   $str_arr = array();
   for($i=0; $i<$strlen; $i++) {
       if($i>=$start && $i<$end)
           $str_arr[] = $re;
       else
           $str_arr[] = mb_substr($string, $i, 1);
   }
   return implode('',$str_arr);
}


Jsky博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论