日期:2014-05-20  浏览次数:20855 次

求两个功能,一是C#随机生成密码,二是在文本框中输入个值,点按钮,生成输入值个数的一些密码和文本框控件再加一个按钮B,点B把生成的密码存入数据库
求两个功能,
一是生成13位随机密码,最好是字母和数字组合,要那种无论生成多少次,多少个,密码都不会有重复的

二是有一个文本框(为了说明详细,我用文本框A,表示这个文本框),一个按钮(按扭A),在文本框(A)中可输入1至20之间的数字,理论上输入数字几都行,但我想在20内,然后点按钮(A),实现生成输入个数的多组控件。
组按件中,包括生成的随机密码,一个文本框(B),和一个按钮(B)。
就是说文本框A中输入1,就生成一个随机密码和一文本框(B),一个按钮。输入10就生成10个随机密码和10个文本框,一个按钮,注意,是就一个按钮(B)就行了,按钮B的功能是,把随机密码和文本框B中再输入的值存入数据库中。
就是说生成10个密码和文本框,点按钮B,就把10个密码和文本框B中再输入的值,存到数据库中,存10行记录。

小弟新人,请误必给出详细的代码和说明,谢谢了

------解决方案--------------------
一是生成13位随机密码,最好是字母和数字组合,要那种无论生成多少次,多少个,密码都不会有重复的
除非你每次记录下产生的密码,每生成一次都和已经生成过的比较,否则不可能不重复。
而且,13位密码,只能说可以生成很多很多不同的组合,但是绝对不是想要多少就要多少。能产生的最大组合数字为元字符的13次方个。比如你使用0-9a-z一共36个字符,那么就是36的13次方。
------解决方案--------------------
1、只存在理论上的不会重复,不存在绝对的不重复,况且字母数字组合再怎么样也有穷举光的一天,但那个数字已经是天文数字了
2、你是Web还是Win都不说清楚。。。。。。。思路都一样的

给你一段生成random的代码

public static class RandomTools
    {
        /// <summary>
        /// 生成最大值范围内无重复值的长度为最大值的随机序列,例:6,则返回0,1,2,3,4,5 的List
        /// </summary>
        /// <param name="maxValue"></param>
        /// <returns></returns>
        public static List<int> GetRandomList(this int maxValue)
        {
            if (maxValue == 0)
            {
                return null;
            }
            //逻辑描述:生成从0开始到maxValue的tempList
            //然后random一次就maxValue--,并将random出来的整数用做索引,加入到returnList并从tempList中移除
            maxValue = Math.Abs(maxValue);//防止负数
            List<int> tempList = new List<int>();
            for (int i = 0; i < maxValue; i++)
            {
                tempList.Add(i);
            }
            Random rd = new Random();
            List<int> returnList = new List<int>();
            while (maxValue > 0)
            {
                int tempInt = 0;
                if (maxValue > 1)//当maxValue为1时,不再进行随机,因为还剩一个数字,无需随机
                {
                    tempInt = rd.Next(maxValue);
                }
                returnList.Add(tempList[tempInt]);
                tempList.RemoveAt(tempInt);
                maxValue--;
            }

            return returnList;
        }

        /// <summary>
        /// 生成指定长度的随机字符串(从字符串资源中)
        /// </summary>
        /// <param name="length"></param>