【发布时间】:2011-08-20 18:33:46
【问题描述】:
我正在制作一个 Web 应用程序,当用户注册时会随机创建一个激活码并将其放入数据库中。然后,Web 应用程序将通过电子邮件将其发送给用户。我会怎么做?我将使用什么 sql server 数据类型?我希望激活码不超过 12 个字符的数字。 谁能帮帮我
【问题讨论】:
标签: asp.net sql-server-2005 security
我正在制作一个 Web 应用程序,当用户注册时会随机创建一个激活码并将其放入数据库中。然后,Web 应用程序将通过电子邮件将其发送给用户。我会怎么做?我将使用什么 sql server 数据类型?我希望激活码不超过 12 个字符的数字。 谁能帮帮我
【问题讨论】:
标签: asp.net sql-server-2005 security
可能最常见的方法是使用 Guid。但是它不适合 12 个字符,base 64 它将是 22 个字符,这不能满足您的需求。如果你真的需要它简短,我可能会做的是 base64 编码一个新的 Guid,然后简单地取左边的 12 个字符,然后检查它是否是唯一的。
var guid = Guid.NewId();
string str = ConvertToBase64(guid.ToByteArray());
return str.Substr(0, 12);
注意,您必须通过在您的数据库中搜索来确保此代码是唯一的。范围很小以确保唯一性。也许你最好放宽对 12 个字符的要求,但我不知道你的应用程序。
【讨论】: