Хорошо, это вопрос о концепции кодирования.Я видел много вопросов о том, как реализовать ключ продукта, и я знаю, как это сделать, этот вопрос относится к тому, что, чем как.
Хорошо, вот предыстория того, что я делаю, и затеммой вопрос.Мое приложение Ultimate Diagnostic Suite готово к тестированию.Я хочу реализовать ключ продукта (я знаю, как это сделать).Я разрываюсь между тем, как это сделать.
Ключ продукта: 7FD8-S89D-8746G-HUSJ
Ключ продукта: example@example.com
Я знаю, каксделать обычный ключ продукта, однако с первым вариантом у меня есть генератор случайных чисел, который может сгенерировать ключи для меня, затем я могу добавить их в БД и проверить ключ продукта, это довольно просто сделать.Единственная проблема, с которой я столкнулся бы: если приложение загрузит 1 миллион человек, то это 1 миллион ключей продукта.Это заняло бы больше места, чем приложение.
Однако, если я воспользуюсь формой ключа продукта по электронной почте, и кто-то загрузит приложение, оно будет иметь цифровую подпись и пропустит этот файл ключа продукта на 1 миллион строк.У меня такой вопрос:
Если я воспользуюсь формой электронной почты (цифровая подпись), как бы я отсеял спам.Также я знаю, что у меня будет несколько событий для авторизации.Мне просто нужна отправная точка.Это для окончания после символа @, например:
У вас будет два текстовых поля, одно текстовое поле будет txtUser.Text
, а другое для сравнения с текстовым файлом окончаний электронной почты будет txtEmailEndings.Text
Короче говоря, если в письме есть окончание:
*@163.com
*@aichyna.com
*@berahe.info
if (txtEmailEndings.Text == dbNotAllowed.Text)
{
messagebox.Show("Please use a valid email, i.e, Gmail, Outlook, AOL");
}
else if (txtEmailEndings != dbNotAllowed.Text)
{
// do something to allow access to full program
}
с концепцией «Я», у меня будет список известных окончаний электронной почты, представляющих высокий риск спам-ботов.Я думаю, что это сократит количество спам-ботов, однако для спам-ботов можно сделать любое электронное письмо.
Единственный другой вариант, который у меня был бы, это фиксированная плата, которая вернулась бы к Flat Fee = Product Key
.С нескончаемыми линиями Product Keys.Я не хочу иметь только один ключ продукта по той причине, что его можно использовать.
Это не в каком-либо конкретном приложении, таком как WinForms или WPF, концепцию можно использовать для обоих.Вот почему теги перечислены.
Любые вопросы или комментарии будут очень полезны.Я использую концепцию с цифровой подписью, как Microsoft перешла с ключей продукта на цифровые подписи.