intro
做项目的时候,页面上有一些敏感信息,需要用“*”隐藏一些比较重要的信息,于是打算写一个通用的方法。
let's do it !
method 1:指定左右字符数量
method 1.1 中间的*的个数和实际长度有关
///
/// 隐藏敏感信息
///
/// 信息实体
/// 左边保留的字符数
/// 右边保留的字符数
/// 当长度异常时,是否显示左边
/// true
显示左边,false
显示右边
///
///
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) + "****");
}