/// <summary> /// Gets the random password. /// </summary> /// <param name="length">The length.</param> /// <returns>System.String.</returns> /// <exception cref="ArgumentException">Password must be at least 8 characters. - length</exception> public static string GetRandomPassword(int length = 10) { if (length < 8) { throw new ArgumentException("Password must be at least 8 characters.", nameof(length)); } string password = string.Empty; password += CharHelpers.GetRandomLowercaseCharacter(); password += CharHelpers.GetRandomUppercaseCharacter(); password += CharHelpers.GetRandomSpecialCharacter(); password += IntHelpers.GetRandomNumber(0, 9); for (int i = 4; i < length; i++) { password += CharHelpers.GetRandomCharacter(); } password = ReplaceDuplicateCharacters(password); password = password.Randomize().Randomize(); return(password); }
/// <summary> /// Replaces the duplicate characters in a string by a random character at the end /// </summary> /// <param name="input">The input.</param> /// <returns>System.String.</returns> public static string ReplaceDuplicateCharacters(string input) { var stringWithoutDuplicates = input.RemoveDuplicates(); if (stringWithoutDuplicates.Length == input.Length) { return(input); } for (int i = 0; i < input.Length - stringWithoutDuplicates.Length; i++) { stringWithoutDuplicates += CharHelpers.GetRandomCharacter(); } return(ReplaceDuplicateCharacters(stringWithoutDuplicates)); }