| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 848 人关注过本帖
标题:求助,asp.net生成随机数(汉字或字母的)?
只看楼主 加入收藏
shezhenhui1989
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:287
专家分:0
注 册:2008-2-1
收藏
 问题点数:0 回复次数:2 
求助,asp.net生成随机数(汉字或字母的)?
如何生成像注册时用的随机数啊?是字母和汉字的那种,看不清还可以刷新的那个!怎么实现?
搜索更多相关主题的帖子: 随机数 汉字 字母 asp 
2008-03-07 14:58
shezhenhui1989
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:287
专家分:0
注 册:2008-2-1
收藏
得分:0 
怎么实现啊,大家帮帮忙啊
2008-03-19 15:21
寂寞的刺猬
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-3-23
收藏
得分:0 
第一.两个页面Login.aspx和gif.aspx。

第二.Login.aspx页面的image控件的URL指定为gif.aspx。

第三.gif.aspx页面代码如下:

private void Page_Load(object sender, System.EventArgs e)
  {
   string strNum = RandNum(4);
   Session["Test"] = strNum;
   ValidateCode(strNum);   
   ViewState["Test"] = strNum;
  }

/// <summary>
  /// 产生随机数
  /// </summary>
  /// <param >种子</param>
  /// <returns></returns>
  /// <author>tianzm</author>
  /// <history>2005-06-18</history>

private string RandNum(int iNum)
  {
   string strChar = "0,1,2,3,4,5,6,7,8,9,0,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
   string[] strAry = strChar.Split(',');
   string strNum = "";   
   System.Random obj = new Random();
   for ( int i=0; i<iNum; i++)
   {   
    int index = obj.Next(strAry.Length);
    strNum = strNum + strAry[index];   
   }
   return strNum;

//这里可以对产生的随机数,进行加密处理。
  }

/// <summary>
  /// 重画图像生成
  /// </summary>
  /// <param >验证码</param>
  /// <author>tianzm</author>
  /// <history>2005-06-18</history>

  private void ValidateCode(string strNum)
  {
   System.Drawing.Bitmap img = null;
   System.Drawing.Graphics g = null;
    ms = null;
   int iWidth = Convert.ToInt16(strNum.Length * 11.5);
   img = new Bitmap(iWidth,20);
   g = Graphics.FromImage(img);
   g.DrawString(strNum,(new Font("Arial",10)),(new SolidBrush(Color.Blue)),3,3);
   ms = new MemoryStream();
   img.Save(ms,ImageFormat.Png);
   Response.ClearContent();
   Response.ContentType = "image/Png";
   Response.BinaryWrite(ms.ToArray());
   g.Dispose();
   img.Dispose();
   Response.End();
  }  

在Login.aspx页面验证如下:

string strTemp = Session["Test"].ToString();
   Session.Abandon();
   ViewState["TestNum"] = strTemp;
   if ( this.TextBox1.Text == ViewState["TestNum"].ToString() )
   {
    this.Label1.Text = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
   }
多年以前写的一篇日志,代码比较乱。没有经过整理,讲究着看吧。。。

我的博客  http://wlb.wlb.blog.
2008-03-23 18:07
快速回复:求助,asp.net生成随机数(汉字或字母的)?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024287 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved