Я создал метод в C #, который принимает уникальную электронную почту в качестве входных данных и возвращает строку base64.Я использую MD5CryptoServiceProvider для этой цели.Вот код:
public string GenerateHash(string str)
{
str = str.ToUpperInvariant();
MD5 md5 = new MD5CryptoServiceProvider();
byte[] emailBytes = md5.ComputeHash(Encoding.UTF8.GetBytes(str));
var base64Email = Convert.ToBase64String(emailBytes, 0, emailBytes.Length);
return RemoveSpecialCharacters(base64Email);
}
private static string RemoveSpecialCharacters(string str)
{
return Regex.Replace(str, "[^a-zA-Z0-9_.]+", "", RegexOptions.Compiled);
}
Но проблема в том, что он возвращает строку со специальными символами (например, /, ==), и я должен удалить эти специальные символы самостоятельно, используя регулярное выражение или что-то еще, но естьв любом случае я получаю уникальную строку без специальных символов, поэтому мне не нужно самому использовать регулярные выражения.Также есть ли возможность получить строку длиной не более 12 символов