using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IRaCIS.Core.Application.Helper
{
    public static class EmailMaskHelper
    {

        //显示位数:3分之2的位数,向上取整
        //取哪几个个值:最后一位和前面几位
        //其他:3个***。
        //比如:hlj23@126.com
        //为:hlj***3@126.com

        //he@126.com
        //为:h*** e@126.com

        public static string MaskEmail(string email)
        {

            // 找到 "@" 符号的位置
            int atIndex = email.IndexOf('@');

            string visiblePartBefore = email.Substring(0, atIndex);

            string afterAt = email.Substring(atIndex + 1);

            int visibleLength = (int)Math.Ceiling((double)visiblePartBefore.Length * 2 / 3);

            // 替换中间两位字符为星号
            string hiddenPartBeforeAt = visiblePartBefore.Substring(0, visibleLength - 1) + "***" + visiblePartBefore.Last();


            // 组合隐藏和可见部分
            string hiddenEmail = hiddenPartBeforeAt + "@" + afterAt;

            return hiddenEmail; 
        }
    }
}