【问题标题】:How to create an "activation code" and store it in sql server 2005 database如何创建“激活码”并将其存储在 sql server 2005 数据库中
【发布时间】:2011-08-20 18:33:46
【问题描述】:

我正在制作一个 Web 应用程序,当用户注册时会随机创建一个激活码并将其放入数据库中。然后,Web 应用程序将通过电子邮件将其发送给用户。我会怎么做?我将使用什么 sql server 数据类型?我希望激活码不超过 12 个字符的数字。 谁能帮帮我

【问题讨论】:

    标签: asp.net sql-server-2005 security


    【解决方案1】:

    可能最常见的方法是使用 Guid。但是它不适合 12 个字符,base 64 它将是 22 个字符,这不能满足您的需求。如果你真的需要它简短,我可能会做的是 base64 编码一个新的 Guid,然后简单地取左边的 12 个字符,然后检查它是否是唯一的。

    var guid = Guid.NewId();
    string str = ConvertToBase64(guid.ToByteArray());
    return str.Substr(0, 12);
    

    注意,您必须通过在您的数据库中搜索来确保此代码是唯一的。范围很小以确保唯一性。也许你最好放宽对 12 个字符的要求,但我不知道你的应用程序。

    【讨论】:

    猜你喜欢
    • 2010-09-09
    • 2010-09-16
    • 2021-11-14
    • 2012-05-02
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 2016-06-07
    相关资源
    最近更新 更多