我正在尝试找到一种为字符串生成唯一ID的方法。生成该唯一ID后,我必须能够通过使用该ID来获取我的字符串。
String s =“这是字符串”;
在一系列代码之后我会得到一个字符串uniqueID
最后通过使用这个uniqueID,我应该得到我的字符串(“这是字符串”)。
关于如何解决这个问题的任何想法?
我尝试用String.GetHashCode解决这个问题,但是我遇到了来自msdn的警告:
每个唯一字符串值没有唯一的哈希码值。不同的字符串可以返回相同的哈希码。
!观察:我想在较长的字符串上使用此代码序列。 (说1000字以上)
答案 0 :(得分:2)
您可以使用Base64吗?
看看这里:http://msdn.microsoft.com/en-us/library/dhx0d524.aspx
static void Main(string[] args)
{
var encoded = Base64Encode("test string");
var decoded = Base64Decode(encoded);
}
static string Base64Encode(string text)
{
var bytes = System.Text.UTF8Encoding.UTF8.GetBytes(text);
return System.Convert.ToBase64String(bytes);
}
static string Base64Decode(string encodedText)
{
var bytes = System.Convert.FromBase64String(encodedText);
return System.Text.UTF8Encoding.UTF8.GetString(bytes);
}