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

app djpass

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

15 releases (7 stable)

1.4.0 Oct 3, 2023
1.3.0 Jan 13, 2023
1.2.1 Dec 7, 2021
1.1.0 Jun 20, 2020
0.2.0 Mar 30, 2016

#358 in Cryptography

Download history 4/week @ 2024-02-18 7/week @ 2024-02-25 1/week @ 2024-03-03 4/week @ 2024-03-10 247/week @ 2024-03-31

251 downloads per month


123 lines

djpass (Django Passwords)

Build Status

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


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

$ cargo install djpass


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...


  • PBKDF2 (default)
  • 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.


  • 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.


Djpass is released under the 3-Clause BSD License.

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


~117K SLoC