C#,asp.net实现邀请码机制
2008-04-25 12:25
295 查看
现在很多网站有一个邀请码机制,比如开源社区,一方面可以防止灌水,另一方面大家都是互相介绍加入网站,提升网站用户层次。维护一个良好的社区环境。本文章就介绍实现邀请码机制。提供C#源代码。
邀请码组成:1-20080330134035-a21f34a965d1cb65 第一位是:用户编号,第二位是年月日时分秒,第三位是校验码。
校验码算法为:用户编号+年月日时分秒+私钥,取16位md5值。
代码:
就验证了邀请码的合法性。然后还要把用过的邀请码记录到数据库,下次有新的邀请码来验证的时候,去数据库里比较一下,存在的话,表示是用过的邀请码,已经失效了。
邀请码组成:1-20080330134035-a21f34a965d1cb65 第一位是:用户编号,第二位是年月日时分秒,第三位是校验码。
校验码算法为:用户编号+年月日时分秒+私钥,取16位md5值。
代码:
string t = DateTime.Now.ToString("yyyyMMddHHmmss"); string k = BLL.StringUtil.md5(User.Identity.Name + t + "b497570b-69a2-4bd1-9380-7e74616795ab", 16); txt.Text = string.Format("{0}-{1}-{2}", User.Identity.Name, t, k); 加私钥的目的就是为了防止别人知道你的算法后,写注册机(当然了,也要看网站的重要程度, )这样就计算出邀请码了。 下面是验证邀请码有效性:aspx中:<asp:TextBox ID="txtCode" runat="server" Rows="10"></asp:TextBox><asp:RequiredFieldValidator ID="r6" runat="server" ControlToValidate="txtCode" Display="Dynamic" ErrorMessage="请填写邀请码" SetFocusOnError="True"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtCode" Display="Dynamic" ErrorMessage="邀请码格式错误" SetFocusOnError="True" ValidationExpression="/d+-/d{14}-[/da-f]{16}"></asp:RegularExpressionValidator>后台CS文件:string[] tmp = txtCode.Text.Split('-'); BLL.StringUtil.md5(tmp[0]+tmp[1]+"b497570b-69a2-4bd1-9380-7e74616795ab", 16)==tmp[2]
就验证了邀请码的合法性。然后还要把用过的邀请码记录到数据库,下次有新的邀请码来验证的时候,去数据库里比较一下,存在的话,表示是用过的邀请码,已经失效了。
相关文章推荐
- C#,asp.net实现邀请码机制
- asp.net(c#)实现邀请码机制
- asp.net(c#)程序版本升级更新的实现代码
- 利用EntLib授权机制实现对ASP.NET页面的自动授权
- 多频道网站架构实现方法 (asp.net C#)
- 在ASP.NET下实现数字和字符相混合的验证码(C# Code)
- ASP.net(c#)用类的思想实现插入数据到ACCESS例子
- ASP.net 验证码实现代码(C#)
- [导入]Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- 使文件下载的自定义连接支持 FlashGet 的断点续传多线程链接下载! C#/ASP.Net 实现!
- Asp.net(C#)实现验证码功能
- asp.net c#实现文件的创建、移动、删除、复制
- Asp.net(C#) windows 服务{用于实现计划任务,事件监控等}
- 一个简单的AJAX实现,基于C#的ASP.Net,包括服务器端的程序代码
- 使文件下载的自定义连接支持 FlashGet 的断点续传多线程链接下载! C#/ASP.Net 实现
- asp.net C#实现下载文件的六种方法实例
- 利用Asp.Net回调机制实现进度条
- 利用Asp.Net回调机制实现进度条
- 如何实现小型WEB搜索引擎(C#+SQL Server全文检索+Asp.net)