生成一组(相对)短“邀请码”的好方法是什么?

时间:2014-06-27 18:23:48

标签: c# sql-server

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

我已经找到了所有内容(大多数),但是对于如何创建一组唯一代码以及存储它们的最佳方法一无所知。什么是这样的普遍接受的做法,以及如何将值存储在SQL中(作为字符串,或作为二进制值,或什么?)

谢谢!


修改1

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

1 个答案:

答案 0 :(得分:2)

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

userInfo.email.GetHashCode();

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

我使用的另一种方法是创建鼓舞人心的引号字典。 从字典中随意拉一个,把它放到他们的个人资料中; 我给他们的注册链接预先填写了引用字段,如果它通过URL进入并且是匹配的,则隐藏它。 当他们提交数据以创建他们的帐户时,他们的电子邮件和引用必须匹配。

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

如果不能干净地复制和使用,请不要使用用户难以进入的物品。粘贴来自邀请。