Skip to main content

Create and verify common LDAP passwords and hashes

Project description


Python hashlib generator born as a script to test OpenLDAP user passwords. It supports salted:

  • md5
  • sha1
  • sha224
  • sha256
  • sha384
  • sha512


pySSHA-slapd is a simple SSHA string encoder e checker that's quite easy to use:

python3 -p slapdsecret


usage: [-h] -p P [-s S] [-salt_size SALT_SIZE] [-c C] [-enc ENC] [-b]
               [-prefixed] [-d D]

Usage: python -p Password[-c SSHA hash to check]

optional arguments:
  -h, --help            show this help message and exit
  -p P                  Password to encode
  -s S                  Salt, 4 bytes in hex format, example "fooo": -s
  -salt_size SALT_SIZE  salt lenght
  -c C                  {SSHA} hash to check
  -enc ENC              Encoder to use, example: sha1 sha224 sha256 sha384
  -b                    if {SSHA} hash is in base64 format
  -prefixed             if suffixed or prefixed salt
  -d D                  Debug level from 1 to 5


Python3 and hashlib

Usage examples

You can adopt a specified salt for hashing, in hex format:

python3 -p slapdsecret -s 74be2629

Verify if a password is valid comparing it with a SSHA hash:

python3 -c {SHA1}pPUGnEBCmIa+fJy6ZTS87eEg+ylVYDqcrs6oHA== -p slapdsecret 

Same as previous but ssha hash is in base64 format (like ldapsearch output):

python3 -c e1NIQTF9dzVDSkN3TlFrNDROalRZemNNWk5LYkU2QnU5MHZpWXA= -b -p slapdsecret -salt_size 4

Same as the previous but with maximum debug level

python3 -c e1NIQTF9dzVDSkN3TlFrNDROalRZemNNWk5LYkU2QnU5MHZpWXA= -b -p slapdsecret -d 3 -salt_size 4

[sshaSplit debug]
	ssha_password: {SSHA}w5CJCwNQk44NjTYzcMZNKbE6Bu90viYp 
	salt: 74be2629 
	payload: 0b0350938e0d8d363370c64d29b13a06ef

[checkPassword debug]
 	ssha_password:    {SSHA}w5CJCwNQk44NjTYzcMZNKbE6Bu90viYp
	created_password: {SSHA}w5CJCwNQk44NjTYzcMZNKbE6Bu90viYp
	salt: 74be2629
	password: slapdsecret

{SSHA} Check is valid: True

select your preferred encoder

python3 -p slapdsecret -s 74be2629 -enc sha512

without salt

python3 -p ciao -d 3 -salt_size 0  -enc sha512

OpenLDAP use a 8byte lenght salt, you can also change this value with -salt_size option.


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pySSHA, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size pySSHA-1.0.0-py3-none-any.whl (8.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pySSHA-1.0.0.tar.gz (5.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page