【发布时间】:2012-07-03 14:33:14
【问题描述】:
我是一名大学生,我们的任务是创建一个搜索引擎。当添加到边界时,我很难生成分配给每个 url 的唯一 ID。我曾尝试使用 SHA-256 散列算法以及 Guid。这是我用来实现 guid 的代码:
public string generateID(string url_add)
{
long i = 1;
foreach (byte b in Guid.NewGuid().ToByteArray())
{
i *= ((int)b + 1);
}
string number = String.Format("{0:d9}", (DateTime.Now.Ticks / 10) % 1000000000);
return number;
}
【问题讨论】:
-
一个 GUID 必然是全局唯一的(因此得名),所以我不明白这个问题。
-
我认为他担心的是他希望 ID 基于 URL 是唯一的,因此 URL 的单向哈希到唯一 ID。在这种情况下,SHA1 可以工作。
-
总是有object.GetHashCode()。虽然我认为这不能保证是独一无二的。
-
@RichardTowers 这几乎可以保证不是唯一的
-
简单回答:
return url_add;
标签: c# asp.net .net uniqueidentifier