为不同的字符串生成唯一ID?

时间:2013-02-24 18:48:51

标签: c# string hash uniqueidentifier

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

String s =“这是字符串”;

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

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

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

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

  

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

!观察:我想在较长的字符串上使用此代码序列。 (说1000字以上)

1 个答案:

答案 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);            
}