Кодировать и декодировать длинную строку в короткий читаемый код - PullRequest
0 голосов
/ 10 апреля 2019

Предположим, у нас есть такой объект, как:

public class Record
{
    public string ServerID {get;set;}
    public string UID {get;set;}
}

ServerID и UID - ключи длинной строки, я пытаюсь сделать так, чтобы два параметра сокращали читаемую строку максимум до 8 символов для конечного пользователяЯ могу Encode и Decode по нижеприведенному коду.

public static string Base64Encode(string plainText)
{
    var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
    return System.Convert.ToBase64String(plainTextBytes);
}
public static string Base64Decode(string base64EncodedData)
{
    var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
    return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
}

Например, у меня есть что-то вроде: UID=1.2.840.113619.2.55.3.2831218035.988.1445761334.630&SystemID=BD99-370B-29C5-E424-5C61-0D70-E62B-5DDE

но, к сожалению, Base64Encode это будет:
VUlEPTEuMi44NDAuMTEzNjE5LjIuNTUuMy4yODMxMjE4MDM1Ljk4OC4xNDQ1NzYxMzM0LjYzMCZTeXN0ZW1JRD1CRDk5LTM3MEItMjlDNS1FNDI0LTVDNjEtMEQ3MC1FNjJCLTVEREU=.

Есть ли способ сжать что-то вроде VUlEPTEu и декодировать его в основную версию строки.

1 Ответ

0 голосов
/ 10 апреля 2019

Расшифруйте данные с помощью класса RijndaelManaged (System.Security.Cryptography).Некоторое время я использовал этот класс, и зашифрованная строка была короче, чем зашифрованная строка.

...