Coder Social home page Coder Social logo

xkcdpwd's Issues

Add more languages

Currently xkcdpwd only supports English, though the framework is in place to support other languages.

Things to consider:

  • Baked in dictionaries (like the English one) are easy to distribute and don't require configuraiton, but bloat the size of the binary.
  • If we support user provided dictionaries, should we do any calculations to ensure that they're aren't using a dictionary that is too small?

Add option to control number of passphrases generated

xkcdpwd should have an option to control how many passphrases are generated at a time.

$ xkcdpwd -phrases 5
correct horse battery staple
correct horse battery staple
correct horse battery staple
correct horse battery staple
correct horse battery staple

Command-line option to control case

As a user of xkcdpwd, I would like to control the case of my passphrases via a command-line option.

Options:

  • capitalize first letter of all words
    $ xkcdpwd -capitalize=first
    Happy Iguana Left Users
  • capitalize random letters
    $ xkcdpwd -capitalize=random
    haPPy iGuANA LeFT uSers
  • capitalize all letters
    $ xkcdpwd -capitalize=all
    HAPPY IGUANA LEFT USERS

Command-line option to select word separator

As a user of xkcdpwd, I would like to select the character used to separate words in the passphrase.

Examples:

$ xkcdpwd --separator='-'
foo-bar-baz-bam
$ xkcdpwd -s=
foo=bar=baz=bam

Command-line option to control minimum and maximum length of words used

As a user of xkcdpwd, I would like to control the length of words used in my passphrase via a command-line option.

Examples:

$ xkcdpwd -max-length=10
happy iguana left users
$ xkcdpwd -min-length=10
establishment recommendations happenstance recreation
  • minimums and maximums that reduce the size of the dictionary such that entropy falls below 30 bits will result in an error
# max word length is 18
$ xkcdpwd -max-legnth=23
error: dictionary cannot support more than 30 bits of entropy
# min word length is 4
$ xkcdpwd -min-length=3
error: dictionary cannot support more than 30 bits of entropy

Honor locale settings and language flag

Select dictionary language based on the user's system locale or a command-line flag.

Examples:

$ export LANG=fr_FR.UTF-8
$ xkcdpwd
content iguane gauche utilisateurs
$ xkcdpwd -lang fr
content iguane gauche utilisateurs

Get tests to pass on windows

The tests currently fail on windows with the following errors:

--- FAIL: TestIntegration (0.00s)
    --- FAIL: TestIntegration/capitalize/invalid (0.00s)
        --- FAIL: TestIntegration/capitalize/invalid/external (0.12s)
##[error]            testcase.go:55: setting default separator ' '
##[error]            testcase.go:114: stderror did not contain the expected error
                WANT:
                error: invalid capitalization strategy 'foo'
                
                GOT:
                error: invalid capitalization strategy 'foo'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.