我想从电子邮件中隐藏一些字符,如Sha***aj@gmail.com

本文关键字:Sha 字符 aj@gmail com 电子邮件 隐藏 | 更新日期: 2023-09-27 18:11:49

我开发了一个应用程序,它是基于用户的应用程序。在这个应用程序中,如果用户忘记了他的密码,那么用户只能通过他的电子邮件id重置他的密码,如果用户不记得他的电子邮件id,这是与他的帐户相关联,在那个时候,我想检索密码在一个社会安全号码,如sha***aj@gmail.com。我怎么能做到这一点,请帮助我与这个问题,将不胜感激。谢谢你。

我已经得到了这个代码从堆栈超过流量,但它不符合我的要求。只适用于电话号码,不适用于电子邮件

public static string GetMaskedEmail(string number)
{
    if (String.IsNullOrEmpty(number))
        return string.Empty;
    if (number.Length <= 12)
        return number;
    string last12 = number.Substring(number.Length - 12, 12);
    var maskedChars = new StringBuilder();
    for (int i = 0; i < number.Length - 12; i++)
    {
        maskedChars.Append(number[i] == '-' ? "-" : "#");
    }
    return maskedChars + last12;
}

我想从电子邮件中隐藏一些字符,如Sha***aj@gmail.com

今晚工作有点慢,所以我启动了Xamarin Studio,为你制作了这个。这不应该作为最佳编码实践的一个例子,真的一点也不。

虽然这将提供一个功能示例,从中您可以采取并构建到您自己的方法,并希望在此过程中学习。一个很好的参考资源,如果你在阅读任何代码时迷路了,是MSDN,如果你还没有访问过,我建议你这样做,并将其收藏起来以备将来使用。

using System;
namespace EmailHash
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            if (args.Length <= 0) 
            {
                Console.WriteLine ("No values were passed to application.");
                return;
            }
            string email = args[0];
            int indexOfAt = email.IndexOf ("@");
            if (indexOfAt == -1) 
            {
                Console.WriteLine("Unable to find '@' symbol within email.");
                return;
            }
            int indexStart = 3;
            int indexEnd = indexOfAt - 2;
            if (indexStart >= indexEnd)
            {
                Console.WriteLine("Not enough characters in email to mask value.");
                return;
            }
            string hashedEmail = email.Replace(email.Substring(indexStart, indexEnd - indexStart), "***");
            Console.WriteLine("Original email: " + email);
            Console.WriteLine("Hashed email: " + hashedEmail);
            return;
        }
    }
}