/// <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#手机号中间变*号,隐藏敏感信息方法
未经允许不得转载:IT技术网站 » C#手机号中间变*号,隐藏敏感信息方法
评论前必须登录!
注册