Я хочу использовать 64-битный идентификатор, аналогичный тому, как используются Guids.Какой хороший способ сделать это?Я хочу, чтобы коллизии были низкими.
public static unsafe long GetLongGuid()
{
unchecked
{
fixed (byte* ptr = Guid.NewGuid().ToByteArray())
return *((long*)ptr) ^ *((long*)(ptr + 8));
}
}
Стоит ли вместо этого просто брать верхний или нижний биты?
Или есть более подходящая 64-битная уникальная хэш-функция, которая хороша?