Skip to content

tsctsc6/pwdgenf

Repository files navigation

pwdgenf

  • This is a password generator and manager.

Purpose

  • Generate strong password by simple string.
  • Generate different passwords by the same string.

Usage

  1. Choose a simple password as Main Password.
  2. Click the Add button in the top left corner.
  3. Fill in the form. User Name is account name, Platform is the platform of the account, for example, gmail.
  4. Click Save button in the top right corner.
  5. You can see your account info in main page. Click Detail button.
  6. Input your Main Password and click Gen, you will see a string show up. It is the generated password and you can use it as the password for your account.

Caveat

  • The generated password is related to the User Name, Platform, Nonce Offset and Main Password.
  • Remember your Main Password. Main Password will not be saved.
  • You can backup and restore data in settings page.

Data Flow

flowchart TD
    A["(UserName+Platform+MainPwd).UTF8"];
    B[Hash Value];
    C[Random Number Sequence];
    D[Generated password];

    A -- SHA256 --> B;
    B -- ChaCha20 (Key = Hash Value, Nonce = Slice of Hash Value) --> C;
    C -- Some Algorithm * --> D;
Loading

Some Algorithm *

  1. Pick a byte from Random Number Sequence, mod 4, to decide character set (up letters, low letters, numbers, special character)
  2. Pick a byte from Random Number Sequence, mod the length of character set, get a character. (But if the byte is too big, it will be discarded.)
  3. All characters join, get generated password.

Related code files: rust/src/api/calculate_password.rs

About

A passowrd manage tool.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages