Генерация уникального ключа при использовании C # - PullRequest
0 голосов
/ 28 апреля 2011

Я хочу сгенерировать уникальный ключ в своем веб-сервисе (WCF), чтобы присвоить пользователю, он должен быть минимум 32 бита, как лучше всего это сделать,

Он будет назначен какрегистрационный номер для этого пользователя, и он будет действителен в течение 23 дней,

я подумал об использовании метки времени и кодировании его с использованием RSA,]

Что было бы лучшей практикой

С уважением, Накул Кундра

Ответы [ 3 ]

3 голосов
/ 28 апреля 2011

Не знаю, что вы имеете в виду и почему вы хотите зашифровать ключ, но вы можете использовать GUID для уникального ключа.

Что касается его действительности в течение 23 дней, вам нужна логикареализовать.

0 голосов
/ 28 апреля 2011

Вы можете использовать мой ответ на другой похожий вопрос по SO: Генерация серийных номеров без пользовательских данных

Алгоритм позволяет установить скрытый байт в guid (128 бит). Скрытый байт может содержать, например, месяц (из фиксированной даты во времени, с 4 битами, которые вы можете кодировать 32 месяца) и день (4 бита).

0 голосов
/ 28 апреля 2011

Я бы использовал Guid

var userKey = Guid.NewGuid();

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

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