2016-02-24 2 views
1

В настоящее время я работаю над сайтом обмена текстами, и я столкнулся с следующей проблемой. Каждый пост получает идентификатор, и я хотел бы иметь возможность легко получить доступ к сообщению, указав идентификатор в ссылке в качестве параметра. Но поскольку вы можете просто ввести цифры вручную, это очень небезопасно. Моя идея состоит в том, чтобы вычислить более длинный уникальный номер из идентификатора. Разумеется, число должно быть переведено в исходное состояние. Идеал был бы решением на питоне. Заранее спасибо!Как создать уникальный ключ из ID

Редактировать: Исправить меня, если я ошибаюсь, но нет способа отменить uuid обратно на исходный номер?

+2

Возможный дубликат [Как создать GUID в Python] (http://stackoverflow.com/questions/534839/how-to-create-a-guid-in-python) – idjaw

+1

Вопрос: почему он небезопасен ? Вы боитесь, что кто-то, кто не увидит сообщение, сможет это увидеть? Затем разрешите эту проблему правильно, используя привилегии. – freakish

+0

Почему бы не создать 10-значное или более длинное случайное число и назначить его как идентификатор? –

ответ

1

Первое, что нужно сказать, это то, что это небезопасно. Даже если вы подсчитаете более длинное число, все равно есть шанс получить к нему доступ в любом случае. Представьте, что кто-то создает сценарий генератора, пытающийся использовать такие числа. Предоставление сообщения идентификатора и безопасности не следует смешивать вместе.

Лучшим решением было бы добавить систему привилегий или защиту паролем. Разумеется, вы можете использовать некоторые хеш-функции, чтобы сделать идентификатор длиннее, если вы настаиваете. Не знаете, что именно представляет собой идея сайта, вы имеете в виду что-то вроде Pastebin? Просто добавьте опцию для защиты паролем, как я предложил раньше. Некоторые могут использовать его, некоторые - нет.