首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

产生验证码随机数的一个有关问题

2011-12-29 
产生验证码随机数的一个问题private string GenerateCheckCode(){int numberstring strCode string.Emp

产生验证码随机数的一个问题
private string GenerateCheckCode()
{
int number;
string strCode = string.Empty;

//随机数种子
Random random = new Random();

for(int i = 0;i < 4;i++) //校验码长度为4
{
//随机的整数
number = random.Next();

//字符从0-9,A-Z中随机产生,对应的ASCII码分别为
//48-57,65-90
number = number % 36;
if (number < 10)
{
number += 48;
}
else
{
number += 55;
}

strCode += ((char)number).ToString();
}

//在Cookie中保存校验码
Response.Cookies.Add(new HttpCookie("CheckCode", strCode));
return strCode;
}
里面number = number % 36;,这一句是什么意思,有什么用呢、改成
         //int n = random.Next(26); // 26: a - z 字符
  //validateCode += (char)(n + 65); // 将数字转换成大写字母

  int n = random.Next(10); //数字
  validateCode += n.ToString();
这样可以吗?

[解决办法]
英文字母个数 + 数字个数 = 36

对36取余是为了保证值在 0-35之间。

热点排行