[Internet::Password] Improve mix_case and special_characters support #2308
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ensure password gets at least 1 letter when
mix_case
andspecial_characters
are both required and doing so even on really small length.Issue
When activating both
mix_case
andspecial_characters
flags, it was possible to result in a password without any letter.Example :
This is due to the special characters blocs replacing between 1 and
min_length
characters, which might be bigger than the number of letters in the string (which is a minimum of 2 whenmix_case
is enabled). With bad luck, all letters could end up being all replaced.This issue can raise errors when testing the uniqueness of passwords with case sensitivity.