protected void Page_Load(object sender, EventArgs e)
{
string gif = string.Empty;
switch (Request.QueryString["op"])
{
case "1": //汉字
gif = stxt(10);
Session["gif"] = stxt(4);
break;
case "2": //数字
gif = GetRandomint(4);
Session["gif"] = GetRandomint(4);
break;
case "3": //混合
gif = CreateRandomCode(4);
Session["gif"] = CreateRandomCode(4);
break;
default: //默认
gif = CreateRandomCode(4);
Session["gif"] = CreateRandomCode(4);
break;
}
CreateImage(Session["gif"].ToString());
}
/// <summary>
/// 产生一个随机数字
/// </summary>
/// <param name="codeCount">数字的位数</param>
/// <returns>数字字符串</returns>
private String GetRandomint(int codeCount)
{
Random random = new Random();
string min = "";
string max = "";
for (int i = 0; i < codeCount; i++)
{
min += "1";
max += "9";
}
return (random.Next(Convert.ToInt32(min), Convert.ToInt32(max)).ToString());
}
/// <summary>
/// 产生一个 随机中文汉字编码
///
/// 此函数在汉字编码范围内随机创建含两个元素的十六进制字节数组,每个字节数组代表一个汉字,并将
/// 四个字节数组存储在object数组中。
///
/// </summary>
/// <param name="strlength">需要产生的汉字个数 </param>
/// <returns></returns>
public static object[] CreateRegionCode(int strlength)
{
//定义一个字符串数组储存汉字编码的组成元素
string[] rBase = new String[16] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "
比较全的验证码类(数字,字母,汉字)
最新推荐文章于 2021-04-01 21:38:23 发布