Генерация уникальной строки без специальных символов - PullRequest
0 голосов
/ 29 мая 2018

Я создал метод в 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 символов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...