GenerateParameterDefault Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents that a default value should be generated.
public sealed class GenerateParameterDefault : Aspire.Hosting.ApplicationModel.ParameterDefault
type GenerateParameterDefault = class
inherit ParameterDefault
Public NotInheritable Class GenerateParameterDefault
Inherits ParameterDefault
- Inheritance
Remarks
The recommended minimum bits of entropy for a generated password is 128 bits.
The general calculation of bits of entropy is:
log base 2 (numberPossibleOutputs)
This generator uses 23 upper case, 23 lower case (excludes i,l,o,I,L,O to prevent confusion), 10 numeric, and 11 special characters. So a total of 67 possible characters.
When all character sets are enabled, the number of possible outputs is (67 ^ length)
. The minimum password length for 128 bits of entropy is 22 characters: log base 2 (67 ^ 22)
.
When character sets are disabled, it lowers the number of possible outputs and thus the bits of entropy.
Using MinLower, MinUpper, MinNumeric, and MinSpecial also lowers the number of possible outputs and thus the bits of entropy.
A generalized lower-bound formula for the number of possible outputs is to consider a string of the form:
{nonRequiredCharacters}{requiredCharacters}
let a = MinLower, b = MinUpper, c = MinNumeric, d = MinSpecial
let x = length - (a + b + c + d)
nonRequiredPossibilities = 67^x
requiredPossibilities = 23^a * 23^b * 10^c * 11^d * (a + b + c + d)! / (a! * b! * c! * d!)
lower-bound of total possibilities = nonRequiredPossibilities * requiredPossibilities
Putting it all together, the lower-bound bits of entropy calculation is:
log base 2 [67^x * 23^a * 23^b * 10^c * 11^d * (a + b + c + d)! / (a! * b! * c! * d!)]
Constructors
GenerateParameterDefault() |
Properties
Lower |
Gets or sets a value indicating whether to include lowercase alphabet characters in the result. |
MinLength |
Gets or sets the minimum length of the generated value. |
MinLower |
Gets or sets the minimum number of lowercase characters in the result. |
MinNumeric |
Gets or sets the minimum number of numeric characters in the result. |
MinSpecial |
Gets or sets the minimum number of special characters in the result. |
MinUpper |
Gets or sets the minimum number of uppercase characters in the result. |
Numeric |
Gets or sets a value indicating whether to include numeric characters in the result. |
Special |
Gets or sets a value indicating whether to include special characters in the result. |
Upper |
Gets or sets a value indicating whether to include uppercase alphabet characters in the result. |
Methods
GetDefaultValue() |
Generates a value for the parameter. |
WriteToManifest(ManifestPublishingContext) |
Writes the current ParameterDefault to the manifest context. |