What is a good way to generate a set of (relatively) short “invitation codes”
本问题已经有最佳答案,请猛点这里访问。
在我的应用程序注册过程中,会询问用户是否有邀请代码。这是一种识别"VIP"用户并立即授予他们访问权限的方法,而不是将他们列入等待名单。
我已经搞清楚了所有的事情(大部分),但对于如何创建一组唯一的代码,以及存储它们的最佳方法,我一无所知。对于类似的事情,什么是普遍接受的实践,以及我应该如何将这些值存储在SQL中(作为字符串,或者作为二进制值,或者什么?)
谢谢!
编辑1
- 任何随机的数字/字母都可以。不需要任何特定的格式。
- 每个VIP用户都有自己的代码
- 将(可能/希望)分发几千个代码。
假设您有关于被假定为唯一的用户的信息,例如电子邮件,您可以基于该信息创建哈希代码。
userinfo.email.gethashcode();
这可不太好看。但它有效。
我使用的另一种方法是创建一本鼓舞人心的引语词典。从字典中随机抽取一个,放入他们的个人资料中;我的注册链接,我给他们在报价字段的预填,并隐藏它,如果它通过URL进入是一个匹配。当他们提交数据以创建帐户时,他们的电子邮件和报价必须匹配。
你需要考虑的是,人们有多大可能试图盗用VIP账户。如果担心安全问题,则需要发送加密哈希。但是,如果这不是为了保护一个"高价值"的目标,那么考虑用户体验,提升你的品牌。这就是我选择引用的原因。
如果用户无法从邀请中清晰地复制和粘贴,请不要使用用户难以输入的内容。