Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Passphrase "MIXED case" Type #11255

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

salevajo
Copy link

@salevajo salevajo commented Sep 12, 2024

Description

Create passphrase using one UPPERCASE word in combination with lowercase words. Separator characters will be selected randomly out of the String provided by the user.

Screenshots

Screenshot from 2024-09-13 23-16-27

Testing strategy

A pattern based test is included in the TestPassphraseGenerator class.

Type of change

  • ✅ New feature (change that adds functionality)

@droidmonkey
Copy link
Member

Do not add the actual translations to a PR, just the English build from running the qt linguist tool.

However, this PR is unlikely to be merged as it defeats the purpose of a passphrase. The whole point is to be able to remember the passphrase. If that isn't your point, use a random password. Adding more randomness to a passphrase all but guarantees you'll forget it.

@salevajo
Copy link
Author

The intention is to create a passphrase variant, that can be remembered but can also fulfil additional requirements like numbers and symbols and uppercase letters.

It's for sure not a passphrase by definition, but still useful and usable. Due to the open separator character selection, it can be used quite flexible.

@droidmonkey
Copy link
Member

I actually didn't know you could add multiple characters to the separator field, lol

@droidmonkey
Copy link
Member

I'll merge this after thinking it through, no real harm.

@michaelk83
Copy link

michaelk83 commented Sep 13, 2024

IMHO, this is antithesis to passphrases and should not be merged. If some website allows the use of passphrases, but adds additional requirements like numbers etc, it would be better to satisfy those with fixed modifications, such as capitalizing the 1st letter or adding an easy to remember suffix like "123!".

None of this adds security to the passphrase, it is only to satisfy the misguided requirements of those websites. Although most websites that I know don't even allow enough characters to use a passphrase at all.

I would also disallow the use of multiple (random) separators, and stick to only one per passphrase.

Btw, why is there a duplicate character count, both below the word case, and in the entropy status line? The latter is enough.

@michaelk83
Copy link

michaelk83 commented Sep 13, 2024

How about this:

  • Limit the separator to a single character.
  • Add a "Captilized" word case instead of "MIXER", which only capitalizes the 1st letter of the passphrase.
  • Add a suffix field, which is appended at the end of the passprase.
  • Drop the duplicate Character Count below the Word Case.
  • Rearrange them on a single line: Word Case: [ ... ] Separator: [ ] Suffix: [ ]

@salevajo
Copy link
Author

My personal reason for implementing this variant is that I often need easy-to-type, yet complex passwords that are stored in KeePassXC and that I can use on systems that do not have the keystore themselves. Random passwords are much more difficult to type with the same complexity.

Frequently used, they are also usually easy to memorize. But that is not the primary goal of this implementation.

@droidmonkey
Copy link
Member

How about both "MIXER" (I don't like that name) and "Capitalized" are added. I think MIXER is better named "MIXED case"

@droidmonkey droidmonkey self-requested a review September 13, 2024 20:53
@salevajo salevajo changed the title Passphrase "MIXER case" Type Passphrase "MIXED case" Type Sep 13, 2024
@droidmonkey droidmonkey added this to the v2.7.10 milestone Oct 1, 2024
@droidmonkey
Copy link
Member

I removed the code that picked from the list of separators, that isn't a desired behavior for passphrase generation.

I also removed the extra character count display on the passphrase generator tab.

Stephan Heffner and others added 2 commits October 8, 2024 00:00
An additional approach to create passphrases with one random word being in UPPERCASE.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants