Хотя уникальность каждого отдельного GUID не гарантируется, общее количество уникальных ключей настолько велико (2128 или 3,4028×1038), что вероятность того, что в мире будут независимо сгенерированы два совпадающих ключа, крайне мала.
Как его изменить (модифицировать) чтобы он вообще никогда не мог совпасть?
Невозможно.
Дело в том, что GUID имеет фиксированную длину 128 бит. Всего разных 128-битных чисел ровно 2128. Допустим, вы смогли создать «идеальный» генератор GUID'ов. Запустите его на генерацию 2128 + 1 числа. Из них, понятно, какие-то два из них совпадут.
Для того, чтобы числа никогда не повторялись, они, как минимум, должны быть неограниченной битовой длины.
Уникальность обычно гарантируется двумя вещами, на выбор:
Понятно, что оба способа имеют свои проблемы, но они в целом решаемы, если вы конечно не математическое обоснование чего-то в дипломе пишете.
Если вопрос чисто теоретический, то невозможно.
Если практический, прибавьте к нему timestamp и уникальный id клиента (того, кто генерирует id, например id телефона или жесткого диска).
Для хранения второго числа можно использовать отдельное поле. Сравнивать разумеется надо сразу оба поля. Теоретически этим мы нарушим правило 128 бит в GUID, но практически мы застрахуемся, например, от неверного алгоритма получения случайных чисел и даже при супер больших данных не получим коллизии.
Насколько я помню в WinAPI при генерации итак учитывается timestamp и id устройства.
Впрочем, вероятность коллизии и с обычным GUID итак пренебрежительно мала.
(Ответ дополнен)
Виртуальный выделенный сервер (VDS) становится отличным выбором
При написании кода студия начинает сильно тормозить (1-2) секунды, потом отлагивает, и так все времяПроблема появилась пару дней назад
Имеется Canvas и на нём LabelНа канвасе и лейбле имеются события нажатия ЛКМ