【问题标题】:Encode and Decode long string to short readable code将长字符串编码和解码为短可读代码
【发布时间】:2023-03-03 16:05:02
【问题描述】:

假设我们有一个像这样的对象:

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

ServerIDUID 是长字符串键,我正在尝试将这两个参数缩短为最终用户最多 8 个字符的可读字符串,我可以通过下面的代码片段来 EncodeDecode

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 这样压缩它并将其解码为主要版本的字符串。

【问题讨论】:

  • This 可能会有所帮助。
  • 我之前试过,输出是一样的。

标签: c# base64 compression encode


【解决方案1】:

使用 RijndaelManaged 类 (System.Security.Cryptography) 解密数据。 有一段时间我使用这个类并且加密的字符串比解密的字符串短。

【讨论】:

  • 这将给出几乎相同的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多