-1

我正在尝试找到一种为字符串生成唯一 ID 的方法。生成该唯一 ID 后,我必须能够通过使用该 ID 来取回我的字符串。

String s = "这是字符串";

在一系列代码之后,我会得到一个字符串 uniqueID

最后通过使用这个 uniqueID,我应该得到我的字符串(“这是字符串”)。

关于如何解决这个问题的任何想法?

我尝试用 String.GetHashCode 解决这个问题,但我遇到了来自 msdn 的警告:

每个唯一字符串值没有唯一的哈希码值。不同的字符串可以返回相同的哈希码。

!观察:我想在更长的字符串上使用这个代码序列。(说1000字或更多)

4

1 回答 1

3

你可以使用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);            
}
于 2013-02-24T18:51:05.127 回答