Skip to content

Conversation

@0x5A69656C
Copy link

In this pull request I removed words.rs and it's use in the generate password button in cursive. This is because the password's generated were only 6 random all lower cased words. I replaced it with a function that creates random passwords containing all lower case letters, uppercase letters, numbers, and special characters. If you desire even more security you can change the type from 0 to 1 in password_generator() which includes the extended ASCII characters.

@alexanderkjall
Copy link
Collaborator

Thanks for the pull request!

I think there is a case to be made to be able to both generate passwords with normal words, and more dense entropy.

Maybe this should be a selection option on the generate password dialog.

@0x5A69656C
Copy link
Author

0x5A69656C commented Oct 31, 2025

I added a passphrase generator with the same word list used before and included a dialog option in cursive to use the password generator or the passphrase generator. Let me know if you have any other suggestions.

@0x5A69656C
Copy link
Author

Made the suggested changes.

@0x5A69656C
Copy link
Author

I added a bunch of new dialog options. Let me know if you have any nits! There is a bug currently with reveal password where if you generate a password and try to make the password secret again, you need to press the reveal button a couple times to get it to make the password secret again. Let me know if you have a fix for this.

use rand::seq::SliceRandom;

pub fn passphrase_generator(wordcount: i32) -> io::Result<Vec<String>> {
let filename = "share/wordlists/eff_large.wordlist";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for taking a long time to review this.

I don't think this location will work, on a normal linux distribution the binary will be placed in /usr/bin/ripasso-cursive and these kind of files would go into something like /usr/share/ripasso/eff_large.wordlist.

I think the easiest solution would be to put the wordlist into the binary at compile time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants