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()); }
/// <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()); }