Как сгенерировать уникальные 64-битные целые числа из Python?

Мне нужно создать уникальные 64-битные целые числа из Python. Я проверил модуль UUID . Но UUID, который он генерирует, составляет 128 бит целых чисел. Так что это не сработает.

Вы знаете какой-либо способ генерации уникальных целых чисел 64 бита в Python? Благодарю.

3 Solutions collect form web for “Как сгенерировать уникальные 64-битные целые числа из Python?”

просто замаскируйте 128 бит int

>>> import uuid >>> uuid.uuid4().int & (1<<64)-1 9518405196747027403L >>> uuid.uuid4().int & (1<<64)-1 12558137269921983654L 

Они более или менее случайны, поэтому у вас есть крошечный шанс столкновения

Возможно, первые 64 бита uuid1 безопаснее использовать

 >>> uuid.uuid1().int>>64 9392468011745350111L >>> uuid.uuid1().int>>64 9407757923520418271L >>> uuid.uuid1().int>>64 9418928317413528031L 

Они в значительной степени основаны на часах, гораздо менее случайных, но уникальность лучше

Уникально 64 бита

Что случилось с подсчетом? Простой счетчик создаст уникальные значения. Это самый простой и легко убедиться, что вы не будете повторять значение.

Или, если подсчет недостаточно, попробуйте это.

 >>> import random >>> random.getrandbits(64) 5316191164430650570L 

В зависимости от того, как вы используете семена и используете генератор случайных чисел, это должно быть уникальным.

Вы можете, конечно, сделать это неправильно и получить повторяющуюся последовательность случайных чисел. Следует проявлять особую осторожность в отношении того, как вы обрабатываете семена для программы, которая запускается и останавливается.

64-битное случайное число из генератора случайных чисел ОС, а не PRNG:

 >>> from struct import unpack; from os import urandom >>> unpack("!Q", urandom(8))[0] 12494068718269657783L 
  • Как создать случайный UUID, который воспроизводится (с семенем) в Python
  • как использовать UUID в Django
  • cutdown uuid далее, чтобы сделать короткую строку
  • Как сделать уникальный короткий URL с Python?
  • Возвращает массив UUID PosgreSQL в виде списка с psycopg2
  • Миграция Django с полем uuid генерирует дублированные значения
  • Является ли python uuid1 последовательным как временные метки?
  • Django UUIDField modelfield вызывает ошибку в Django admin: плохо сформированная шестнадцатеричная строка UUID
  •  
    Interesting Posts for Van-Lav

    Theano «Ожидаемый объект, похожий на массив», но нашел переменную: использование scan & categorical_crossentropy

    Двигатели IPython возвращают разные результаты

    очищать веб-сайты с бесконечной прокруткой

    Script Python с использованием plone.api для создания файла появляется ошибка WrongType при установке файла

    самый простой способ в R или Python добавить изображение / видео в маркер графического графика click popup / infowindow

    Значение по умолчанию scipy.sparse

    Убедитесь, что запущен только один экземпляр класса

    Python YAML: управление форматом вывода

    POSTing форма с использованием Python и Curl

    Как бы вы правильно нарушили эту строку, чтобы соответствовать правилам pep8?

    python 2.6 – удаление и подсчет дубликатов в списке словарей эффективно

    Как конвертировать даты с алфавитными месяцами в timestamp

    Как напечатать символ Цельсия с помощью matplotlib?

    Макросы Python: используйте случаи?

    Как назначить строковое значение массиву в numpy?

    Python - лучший язык программирования в мире.