«Правильный» способ (согласно RFC 4122 §4.3) - создать UUID на основе имени. Преимущество этого (по сравнению только с использованием хэша MD5) состоит в том, что они гарантированно не конфликтуют с UUID без имени и имеют очень (очень) небольшую возможность конфликта с другими UUID на основе имени.
В .NET Framework нет встроенной поддержки для их создания, но с помощью кода , подобного этому , вы можете создать GUID следующим образом:
Guid guid = GuidUtility.Create(GuidUtility.UrlNamespace, filePath);
Чтобы еще больше снизить риск коллизий с другими GUID, вы можете создать частный GUID для использования в качестве идентификатора пространства имен (вместо использования идентификатора пространства имен URL, определенного в RFC).