马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

C#手机号中间变*号,隐藏敏感信息方法(身份证号、银行卡号等)

  [复制链接]
查看8060 | 回复5 | 2016-10-10 09:29:48 | 显示全部楼层 |阅读模式
此方法适用于隐藏手机号、银行卡号等信息,如:
1:186****9212 手机号
2:622202********2688  银行卡号
3:654301********0888  身份证号
....... 还有很多

代码:

[C#] 纯文本查看 复制代码
/// <summary>
    /// 隐藏敏感信息
    /// </summary>
    /// <param name="info">信息实体</param>
    /// <param name="left">左边保留的字符数</param>
    /// <param name="right">右边保留的字符数</param>
    /// <param name="basedOnLeft">当长度异常时,是否显示左边 
    /// <code>true</code>显示左边,<code>false</code>显示右边
    /// </param>
    /// <returns></returns>
    public static string HideSensitiveInfo(string info, int left, int right, bool basedOnLeft=true)
    {
        if (String.IsNullOrEmpty(info))
        {
            return "";
        }
        StringBuilder sbText = new StringBuilder();
        int hiddenCharCount = info.Length - left - right;
        if (hiddenCharCount > 0)
        {
            string prefix = info.Substring(0, left), suffix = info.Substring(info.Length - right);
            sbText.Append(prefix);
            for (int i = 0; i < hiddenCharCount; i++)
            {
                sbText.Append("*");
            }
            sbText.Append(suffix);
        }
        else
        {
            if (basedOnLeft)
            {
                if (info.Length > left && left > 0)
                {
                    sbText.Append(info.Substring(0, left) + "****");
                }
                else
                {
                    sbText.Append(info.Substring(0, 1) + "****");
                }
            }
            else
            {
                if (info.Length > right && right > 0)
                {
                    sbText.Append("****" + info.Substring(info.Length - right));
                }
                else
                {
                    sbText.Append("****" + info.Substring(info.Length - 1));
                }
            }
        }
        return sbText.ToString();
    }

C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
ibcadmin | 2016-10-10 09:29:58 | 显示全部楼层
111
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
即墨还雀 | 2016-10-10 09:37:00 | 显示全部楼层
(&#65377;&#9685;ˇ&#8704;ˇ&#9685;)
Minoz | 2016-10-11 12:58:35 | 显示全部楼层
1111111111111
jjs7os | 2016-11-3 10:58:11 | 显示全部楼层
做个记号,下次好找!
jakey0108 | 2017-7-12 17:41:40 | 显示全部楼层
很牛逼
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则