Если он должен быть уникальным, тогда long не сработает, потому что есть больше строк, чем может поместиться в long.Если вам действительно нужен уникальный номер, вы можете использовать конструктор System.Numerics.BigInteger
, который принимает байтовый массив, например
var id = new BigInteger(Encoding.Unicode.GetBytes("string goes here"));
В зависимости от того, что вы делаете, это можетможет быть бесполезным.