【问题标题】:What is a good way to generate a set of (relatively) short "invitation codes" [duplicate]什么是生成一组(相对)短“邀请码”的好方法[重复]
【发布时间】:2014-08-18 23:03:58
【问题描述】:

在我的应用注册过程中,系统会询问用户是否有邀请码。这是一种识别“VIP”用户并立即授予他们访问权限的方法,而不是将他们留在等待名单上。

我(大部分)都已经弄清楚了,但是对于如何创建一组独特的代码以及存储它们的最佳方法是什么一无所知。对于这样的事情,普遍接受的做法是什么,我应该如何将这些值存储在 SQL 中(作为字符串,或者作为二进制值,或者什么?)

谢谢!


编辑 1

  • 任何随机的数字/字母集都可以。不需要任何特定的格式。
  • 每个 VIP 用户都有自己的代码
  • 将(可能/希望)分发几千个代码。

【问题讨论】:

  • 一些只有数字和字母的随机字符串还不够吗?
  • 您要创建多少个代码?每个VIP用户都有自己的吗?他们是否需要遵循表格或任何乱七八糟的字母和/或数字?
  • 另外,这些代码会与用户端标识符(如电子邮件地址)配对,还是独立存在,以便在人与人之间传递?
  • @Dave.Gugg 我刚刚发布了我的问题的更新。这有帮助吗?
  • @barthazar 我打算将代码存储在他们自己的表中,然后在兑换代码后将它们标记为“已使用”(在注册时)。

标签: c# sql-server


【解决方案1】:

假设您有关于假定唯一的用户的信息,例如电子邮件,您可以根据该信息创建一个哈希码。

userInfo.email.GetHashCode();

现在这不是非常漂亮。但它有效。

我使用的另一种方法是创建励志名言词典。 从字典中随机抽取一个,放入他们的个人资料中; 我给他们的注册链接预填充在报价字段中,如果它通过 URL 进入并且匹配,则将其隐藏。 当他们提交数据以创建帐户时,他们的电子邮件和报价必须匹配。

您需要考虑的是人们尝试破解 VIP 帐户的可能性有多大。如果安全是一个问题,那么您需要发送一个加密的哈希。但是,如果这不会保护“高价值”目标,那么请考虑用户体验并提升您的品牌。这就是我选择报价的原因。

如果用户无法从邀请中干净地复制和粘贴,请不要使用用户难以输入的内容。

【讨论】:

  • 我喜欢引用的想法!非常感谢您的建议!
  • 在那种情况下——“如果你认为你能做某事,或者相信你能做,那就开始吧!大胆,有天才、力量和魔法。”
猜你喜欢
  • 2021-07-14
  • 2019-05-04
  • 1970-01-01
  • 2018-08-29
  • 2012-05-02
  • 1970-01-01
  • 1970-01-01
  • 2012-10-18
  • 2014-09-25
相关资源
最近更新 更多