Generar una ID única

Soy estudiante en la universidad y nuestra tarea es crear un motor de búsqueda. Estoy teniendo dificultades para generar una ID única para asignar a cada url cuando se agrega a la frontera. He intentado usar el algoritmo de hash SHA-256, así como Guid. Aquí está el código que usé para implementar el 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;
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta