Membership Generate Password alphanumeric only password?

前端 未结 7 2131
独厮守ぢ
独厮守ぢ 2020-12-28 13:11

How can I use Membership.GeneratePassword to return a password that ONLY contains alpha or numeric characters? The default method will only guarantee a minimum and not a max

7条回答
  •  一向
    一向 (楼主)
    2020-12-28 13:35

    You could also try to generate passwords and concatenate the non alphanumeric characters until you reach the desired password length.

    public string GeneratePassword(int length)
    {
        var sb = new StringBuilder(length);
    
        while (sb.Length < length)
        {
            var tmp = System.Web.Security.Membership.GeneratePassword(length, 0);
    
            foreach(var c in tmp)
            {
                if(char.IsLetterOrDigit(c))
                {
                    sb.Append(c);
    
                    if (sb.Length == length)
                    {
                        break;
                    }
                }
            }
        }
    
        return sb.ToString();
    }
    

提交回复
热议问题