随即产生验证码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;
using System.Data;
using System.Configuration;
namespace ConsoleApplication3
{
??? /// <summary>
??? /// RandomCode類主要是生成一個(gè)隨機(jī)數(shù)
??? /// </summary>
??? public class RandomCode
??? {
??????? public RandomCode()
??????? {
??????????? //
??????????? // TODO: 在此處添加構(gòu)造函數(shù)邏輯
??????????? //
??????? }
??????? /// <summary>
??????? /// 產(chǎn)生隨機(jī)數(shù)的方法
??????? /// </summary>
??????? /// <param name="n">n代表要生成隨機(jī)數(shù)的位數(shù)</param>
??????? /// <returns>返回生成的隨機(jī)數(shù)</returns>
??????? public string RandomNum(int n) //
??????? {
??????????? string strchar =
"0,1,2,3,4,5,6,7,8,9,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,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[] VcArray = strchar.Split(',');
??????????? string VNum = "";??????????????????? //初始化隨機(jī)數(shù)為空
??????????? int temp = -1;?????????????????????? //記錄上次隨機(jī)數(shù)值,盡量避免產(chǎn)生幾個(gè)一樣的隨機(jī)數(shù)
??????????? //采用一個(gè)簡單的算法以保證生成隨機(jī)數(shù)的不同
??????????? Random rand = new Random();
??????????? for (int i = 1; i < n + 1; i++)
??????????? {
??????????????? if (temp != -1)
??????????????? {
??????????????????? //Random random=new System.Random(int Seed);
??????????????????? // 摘要:
??????????????????? //???? 使用指定的種子值初始化 System.Random 類的新實(shí)例。
??????????????????? // 參數(shù):
??????????????????? //?? Seed:
??????????????????? //??用來計(jì)算偽隨機(jī)數(shù)序列起始值的數(shù)字。如果指定的是負(fù)數(shù),則使用其絕對值。
??????????????????? rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));
??????????????????? //DateTime.Now.Ticks返回的是一個(gè)long型的值,表示此實(shí)例的日期和時(shí)間的計(jì)時(shí)周期數(shù)
??????????????? }
??????????????? int t = rand.Next(61);
??????????????? if (temp != -1 && temp == t)
??????????????? {
??????????????????? return RandomNum(n);
??????????????? }
??????????????? temp = t;
??????????????? VNum += VcArray[t];
??????????? }
??????????? return VNum;//返回生成的隨機(jī)數(shù)
??????? }
??? }
??? class Program
??? {
??????? static void Main(string[] args)
??????? {
??????????? //輸入要產(chǎn)生的隨機(jī)數(shù)的位數(shù)
??????????? Console.WriteLine("請輸入一個(gè)正整數(shù):");
??????????? int i =Convert.ToInt32( Console.ReadLine());
??????????? RandomCode randomcode = new RandomCode();
??????????? //輸出產(chǎn)生的隨機(jī)數(shù)
??????????? Console.WriteLine(randomcode.RandomNum(i));
??????????? Console.ReadKey();
??????? }
??? }
}
轉(zhuǎn)載于:https://www.cnblogs.com/chaiweiwei/archive/2011/06/30/cww022.html
總結(jié)
- 上一篇: 通过COM组件在Web上实现Kinect
- 下一篇: 【My Project】数字频率测量FP