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
--saltor--both-saltoptions.
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.
Release files for alecto 2.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| alecto-2.1.6.tar.gz | 6.1 kB | Details |
Release files / alecto-2.1.6.tar.gz
| Download URL | alecto-2.1.6.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
793a050d9ae80548c93033e1b08b166cfd612085c63b0ef632bcec906579982b
|
|
BLAKE2b-256 checksum How to use checksums |
517244394e3b81f4c330f120fa2b74cc37d80c64f8af1086c41b7f682025c521
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|