假设我们有一个像这样的对象:
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
并将其解码为主要版本的字符串。
使用RijndaelManaged
类(System.Security.Cryptography)解密数据。有时自我使用这个类,加密的字符串比解密的字符串短。