Ejemplo n.º 1
0
        private string GeneratePwdSeed(PwdGeneratorParams param)
        {
            StringBuilder builder = new StringBuilder();

            if (param.HasNumber)
            {
                builder.Append(typeNumber);
            }
            if (param.HasLetterLowerCase)
            {
                builder.Append(typeLetterLowerCase);
            }
            if (param.HasLetterUpperCase)
            {
                builder.Append(typeLetterUpperCase);
            }
            if (param.HasCharactor)
            {
                builder.Append(typeCharacter);
            }
            return(builder.ToString());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 密码生成
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public string Generate(PwdGeneratorParams param)
        {
            StringBuilder password = new StringBuilder();
            int           length   = param.Length;

            if (length < 6)
            {
                length = 6;
            }

            if (param.HasCharactor)
            {
                password.Append(GetPwdCharactor(typeCharacter));
            }
            if (param.HasLetterLowerCase)
            {
                password.Append(GetPwdCharactor(typeLetterLowerCase));
            }
            if (param.HasLetterUpperCase)
            {
                password.Append(GetPwdCharactor(typeLetterUpperCase));
            }
            if (param.HasNumber)
            {
                password.Append(GetPwdCharactor(typeNumber));
            }

            string seed = GeneratePwdSeed(param);
            var    len  = length - password.Length;

            for (int index = 0; index < len; index++)
            {
                password.Append(GetPwdCharactor(seed));
            }
            password = GetDisorderlyOrder(password.ToString());
            return(password.ToString());
        }