根据字符串生成Guid

时间:2018-04-03 10:53:09

标签: c# .net guid

我们希望根据一些随机字符串生成一个Guid。目标是Guid对于给定的字符串始终是相同的。

为了清楚起见,我的字符串不是格式化的,它可能是“Toto”为“asdfblkajsdflknasldknalkvkndlskfj”。

我知道这会生成一些与我的输入字符串一样独特的Guid,但这不是问题所在。

1 个答案:

答案 0 :(得分:3)

由于Guid和MD5哈希都是128位整数,因此可以使用给定字符串的MD5作为Guid。它将始终如一地重现相同的值:

using (System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create())
{
    byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
    byte[] hashBytes = md5.ComputeHash(inputBytes);

    Guid g = new Guid(hashBytes);
}