#password-hash #password #django #command-line-tool #hash #python

app djpass

A command-line tool to generate and verify passwords used in Django project

16 releases (8 stable)

new 1.4.1 Jan 5, 2025
1.4.0 Oct 3, 2023
1.3.0 Jan 13, 2023
1.2.1 Dec 7, 2021
0.2.0 Mar 30, 2016

#362 in Cryptography

Download history 18/week @ 2024-09-18 15/week @ 2024-09-25 1/week @ 2024-10-30 18/week @ 2024-12-04 33/week @ 2024-12-11 65/week @ 2024-12-25 116/week @ 2025-01-01

228 downloads per month

BSD-3-Clause

11KB
117 lines

djpass (Django Passwords)

Build Status

A command-line tool to generate and verify passwords used in Django Project.

Installation

You can compile from source, or install via cargo (requires version 0.6.0 or higher):

$ cargo install djpass

Usage

Generating a Password Hash

If you run it without arguments it will ask for a password:

$ djpass
Password: [password]
Hash: pbkdf2_sha256$24000$...

Passing the password as a single argument will return the hash:

$ djpass hello
Hash: pbkdf2_sha256$24000$...

You can also specify the algorithm used:

$ djpass hello -a sha1
Hash: sha1$hzPiRIKYykm8$23...

Algorithms:

  • PBKDF2 (default)
  • PBKDF2SHA1
  • Argon2
  • Scrypt
  • BCryptSHA256
  • BCrypt
  • SHA1
  • MD5
  • UnsaltedSHA1
  • UnsaltedMD5
  • Crypt

The algorithm argument is case-insensitive.

Verifying a Password Hash

$ djpass hello 'sha1$hzPiRIKYykm8$23...'
Password ok.

If you pass an algorithm during verification it will be ignored.

Contributing

  • Be polite, I'm new to Rust, like almost everybody.
  • Don't go nuts with your mad-rust-skillz, legibility is a priority.
  • Always include a unit test.

License

Djpass is released under the 3-Clause BSD License.

tl;dr: "free to use as long as you credit me".

Dependencies

~3–14MB
~106K SLoC