Why not just use ToString?
public string generateID()
{
return Guid.NewGuid().ToString("N");
}
If you would like it to be based on a URL, you could simply do the following:
public string generateID(string sourceUrl)
{
return string.Format("{0}_{1:N}", sourceUrl, Guid.NewGuid());
}
If you want to hide the URL, you could use some form of SHA1 on the sourceURL, but I'm not sure what that might achieve.