/// <summary>
/// 返回指定位数的随机手势
/// </summary>
/// <param name="n">随机手势位数</param>
/// <returns></returns>
public int[] RadPw(int n)
{
if (n < 2 || n > 9)
return null;
int[] lstRet = new int[n];//随机结果
Hashtable htSouce = new Hashtable();//随机数字池
Random rd = new Random();//随机变量
int nLast;//最后一个随机数
//初始化数字池
for (int i = 1; i < 10; i++)
{
htSouce.Add(i, i);
}
for (int i = 0; i < n; i++)
{
nLast = rd.Next(0, htSouce.Count - 1);
int[] lstSource = new int[htSouce.Count];
htSouce.Values.CopyTo(lstSource, 0);
nLast = lstSource[nLast];
lstRet[i] = nLast;//加入随机结果
htSouce.Remove(nLast);//删除已随机出来的数字
}
return lstRet;
}
C# 随机输出指定位数的手势密码
最新推荐文章于 2020-01-20 15:44:57 发布