Skip to main content

Alecto is an advanced command-line tool for password hashing. With support for various hashing algorithms, including MD5, SHA-256, SHA-512, Argon2, and bcrypt, it offers flexibility and security. Users can choose algorithms, include custom salts, and specify hash lengths, making it a versatile solution for password hashing needs.

Project description

Alecto: Advanced Password Hashing Tool

Alecto is an advanced command-line utility designed for sophisticated password hashing, offering a comprehensive set of features and algorithms to bolster security. Below, you'll find an in-depth guide on Alecto's features, advanced usage, supported algorithms, and practical examples.

Features

1. Extensive Algorithm Support

Alecto boasts support for a diverse array of hashing algorithms, providing users with the flexibility to tailor their security measures to specific requirements. Here is a list of available algorithms:

  • apr_md5_crypt
  • argon2
  • bcrypt
  • bcrypt_sha256
  • bigcrypt
  • blake2b
  • blake2s
  • bsd_nthash
  • bsdi_crypt
  • cisco_type7
  • crypt16
  • cta_pbkdf2_sha1
  • des_crypt
  • django_pbkdf2_sha1
  • django_pbkdf2_sha256
  • django_salted_sha1
  • dlitz_pbkdf2_sha1
  • fshp
  • grub_pbkdf2_sha512
  • lmhash
  • md4
  • md5
  • md5-sha1
  • md5_crypt
  • mssql2000
  • mssql2005
  • mysql323
  • mysql41
  • nthash
  • oracle11
  • pbkdf2_hmac_sha1
  • pbkdf2_hmac_sha256
  • pbkdf2_hmac_sha512
  • pbkdf2_sha256
  • phpass
  • ripemd160
  • scram
  • scrypt
  • sha128
  • sha1_crypt
  • sha224
  • sha256
  • sha256_crypt
  • sha384
  • sha3_224
  • sha3_256
  • sha3_384
  • sha3_512
  • sha512
  • sha512_crypt
  • shake_128
  • shake_256
  • sm3
  • spookyhash
  • sun_md5_crypt
  • whirlpool
  • xxhash
  • bcrypt_sha256
  • django_salted_sha1
  • ldap_md5
  • ldap_pbkdf2_sha1
  • ldap_pbkdf2_sha256
  • ldap_pbkdf2_sha512
  • siphash

2. Algorithm Specification

Directly specify the hashing algorithm:

python alecto.py -a <algorithm> <password>

3. Custom Salt Integration

Elevate password security by introducing custom salts into the hashing process. Alecto seamlessly accommodates custom salts, providing users with granular control over the salting mechanism, a crucial aspect of robust password storage.

4. Terminal Clarity Enhancement

Alecto includes a terminal-clearing functionality, optimizing user experience by ensuring a clean and organized interface.

5. Fine-tuned Hash Length Specification

Specific to shake_128 and shake_256 algorithms, Alecto enables users to precisely specify the hash length using the --hash-length option. This advanced feature allows for tailoring hash outputs to exact requirements.

Advanced Usage

1. Parallel Salting

For enhanced security, leverage both custom and default salts simultaneously:

python alecto.py <password> -a <algorithm> --salt --both-salt

2. Custom Salt Usage

Utilize a custom salt in the hashing process:

python alecto.py <password> -a <algorithm> --salt --custom-salt

3. Custom Byte Length For SHAKE128 AND SHAKE256

'''bash python alecto.py -a --hash-length '''

Examples

1. Custom Algorithm and Salt

python alecto.py -a sha3_256 --custom-salt mypassword

2. Parallel Salting with Shake_256

python alecto.py -- salt --both-salt -a shake_256 --hash-length 64 mypassword

Considerations

  • When using a custom salt, it is seamlessly integrated into the hashing process.
  • For algorithms like argon2 and bcrypt, employing a custom salt enhances overall security.
  • Default salts are automatically generated when using the --salt or --both-salt options.

NOTE: Some hashes is not available on the system so if you face an error like unsupported algorithm it's probably because your system don't have that algorithm.

Disclaimer: Alecto is intended for educational and security research purposes. Users are advised to employ the tool responsibly and adhere to ethical guidelines.

Project details


Download files

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

Source Distribution

alecto-2.1.6.tar.gz (6.1 kB view details)

Uploaded Source

File details

Details for the file alecto-2.1.6.tar.gz.

File metadata

  • Download URL: alecto-2.1.6.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for alecto-2.1.6.tar.gz
Algorithm Hash digest
SHA256 793a050d9ae80548c93033e1b08b166cfd612085c63b0ef632bcec906579982b
MD5 dce12d0c63fff1f68486b668e976e44c
BLAKE2b-256 517244394e3b81f4c330f120fa2b74cc37d80c64f8af1086c41b7f682025c521

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page